Node.js:获取HTML呈现的CSS文件

如何在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'); 

我应该怎么做?

您可以使用Express的静态中间件来提供像(客户端)JS和CSS这样的静态文件:

 app.use(express.static()); 

这将默认情况下尝试find./public静态文件(相对于您configuration中间件的脚本):

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

如果你在你的HTML /模板中使用这个:

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

中间件会发现和(如果find)服务./public/css/general.css

如果你想要一个你的CSS文件与你的应用程序脚本位于同一个目录的设置,你可以通过传递一个目录作为第一个参数来告诉中间件在哪里查找文件。

 app.use(express.static(__dirname));