您好我是nodejs的新手,我刚刚成功在线部署nodejs应用程序。现在我想知道如何链接CSS,JS或图像文件,因为当我尝试像以前一样,我得到错误GET (not found)
。
文件夹架构是:
--public
--assets
--css
index.css
--js
--views
--index.ejs
--node modules
app.js
package.json
假设我想对index.css
中的链接index.ejs
进行编码,请在app.js
文件中写一下。
app.js代码:
var express = require('express');
var app = express.createServer();
app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/public'));
app.get('/', function(req,res){
res.render('index');
});
app.listen(8080,'IP_ADRESS');
index.ejs代码:
<link rel="stylesheet" type="text/css" href="/css/index.css">
答案 0 :(得分:1)
在express中提供静态文件的基本设置:
var express = require("express");
var app = express();
...
app.use(express.static(__dirname + '/public'));
...
app.listen(3000);
现在在你的.ejs中加载css样式或js脚本:
<link rel="stylesheet" href="/css/index.css"/>
答案 1 :(得分:0)
首先,有一个名为静态文件的东西。基本上,这是一个通过互联网发送的文件,没有任何修改。图像和CSS文件通常是静态文件。
您似乎已将静态文件放在名为public
的文件夹中。
Express具有内置的发送静态文件的功能,称为express.static
。您可以像这样使用它:
// Require the modules we need.
var express = require('express');
var path = require('path');
// Create an Express app.
var app = express();
// Get the path to the `public` folder.
// __dirname is the folder that `app.js` is in.
var publicPath = path.resolve(__dirname, 'public');
// Serve this path with the Express static file middleware.
app.use(express.static(publicPath));
// ...
您现在应该可以看到静态文件了。如果您的网站通常可以http://localhost:3000
访问,那么您就可以在index.css
看到http://localhost:3000/css/index.css
。
如果您想了解关于express.static
的方式太多,您可以查看深入了解Express的静态文件的a blog post I wrote。