5

Node.js で HTML レンダリングを使用して HTML ファイルに CSS ファイルを含めるにはどうすればよいですか?

これが私がすることです:

<link rel="stylesheet" type="text/css" href="./general.css" />

そして、localhost:8333/general.css にアクセスしようとするとエラーが発生します。

Cannot GET /general.css

私のモジュールレンダラースクリプトは次のとおりです。

app.set('views', __dirname);
app.engine('html', engines.mustache);
app.set('view engine', 'html');

どうすればいいですか?

4

1 に答える 1

9

Express の静的ミドルウェアを使用して、(クライアント側の) JS や CSS などの静的ファイルを提供できます。

app.use(express.static());

デフォルトでは、静的ファイルを見つけようとします./public(ミドルウェアを構成するスクリプトに関連して):

yourproject/app.js   <-- if configured here
yourproject/public/  <-- it will look here

HTML/テンプレートでこれを使用する場合:

<link rel="stylesheet" type="text/css" href="/css/general.css" />

ミドルウェアは を見つけて (見つかった場合) サービスを提供し./public/css/general.cssます。

CSS ファイルがアプリケーション スクリプトと同じディレクトリにあるセットアップが必要な場合は、最初の引数としてディレクトリを渡すことで、ファイルを探す場所をミドルウェアに伝えることができます。

app.use(express.static(__dirname));
于 2013-04-19T20:26:03.207 に答える