Node.js:使用HTML渲染获取CSS文件

6

如何在使用Node.js的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');

我该怎么做?

1个回答

10
你可以使用Express的静态中间件来提供像客户端JS和CSS这样的静态文件:
你可以使用 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));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接