49

私のアプリの構造は次のとおりです。

 /app
     /css
     /js
     ..
 /script
    /server.js

使用時に __dirname を使用して /app フォルダーを指すようにしています

app.use(express.static( __dirname + '/app'));

Webで何を検索すればよいのかよくわかりません。助けてください。

4

4 に答える 4

49

あなたがserver.jsにいるなら、それはつまり

app.use(express.static( __dirname + '/../app'));
于 2013-08-06T18:46:55.880 に答える
21

そのためにパスモジュールを使用できます。

path モジュールは、ファイルおよびディレクトリ パスを操作するためのユーティリティを提供します。

const path = require('path');

app.use(express.static(path.join(__dirname, '..', 'app')));
于 2016-08-16T01:04:33.423 に答える
1

__dirname は単なる文字列です。文字列操作を行うことができます。

app.use(express.static(__dirname.substring(0, __dirname.indexOf("\\routes") + '\app'));

正直なところ、別の目的で使用しました。

res.sendFile('./uploads/' + req.params.id + '/' + req.params.filename, {"root": __dirname.substring(0, __dirname.indexOf("\\routes"))});

そのため、/ vs \ を少し操作する必要があるかもしれません。

于 2015-11-16T23:34:06.963 に答える
0

私は簡単な解決策を行いましたが、うまくいきます。起動サーバー スクリプト js で、次を追加できます。

var publicFolder = __dirname + '/public/';
config.public_folder = publicFolder;

次に、サブフォルダーまたはルートのコード内の他の場所でこのフォルダーにアクセスする必要があるときはいつでも、パブリックフォルダー変数を挿入する必要があります。次のように使用します。

  res.sendFile(config.public_folder+'unsubscribed-success.html');
于 2016-12-08T20:18:42.617 に答える