如何在我的HTML文件中使用Node.js中的HTML呈现包含CSS文件?
这是我做的:
<link rel="stylesheet" type="text/css" href="./general.css" />
Run Code Online (Sandbox Code Playgroud)
然后是我要去localhost时的错误:8333/general.css:
Cannot GET /general.css
Run Code Online (Sandbox Code Playgroud)
我的模块渲染器脚本如下:
app.set('views', __dirname);
app.engine('html', engines.mustache);
app.set('view engine', 'html');
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
您可以使用Express的静态中间件来提供静态文件,如(客户端)JS和CSS:
app.use(express.static());
Run Code Online (Sandbox Code Playgroud)
默认情况下,尝试查找静态文件./public(相对于您配置中间件的脚本):
yourproject/app.js <-- if configured here
yourproject/public/ <-- it will look here
Run Code Online (Sandbox Code Playgroud)
如果您在HTML /模板中使用它:
<link rel="stylesheet" type="text/css" href="/css/general.css" />
Run Code Online (Sandbox Code Playgroud)
中间件将找到并且(如果找到)服务./public/css/general.css.
如果您想要一个CSS文件与应用程序脚本位于同一目录中的设置,您可以通过将目录作为第一个参数传递给中间件查找文件的位置:
app.use(express.static(__dirname));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9011 次 |
| 最近记录: |