我的目录设置如下:
app.js
vews
home.html
css
style.css
Run Code Online (Sandbox Code Playgroud)
我的主文件是这样的:
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的应用程序是这样的:
var io = require('socket.io'),
url = require('url'),
sys = require('sys'),
express = require('express'),
http=require('http');
var app = express();
var server = http.createServer(app);
var socket = io.listen(server);
app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
app.get('/', function(req, res){
res.render('home');
});
app.listen(4000);
sys.puts('server running ' + 'now ' + Date.now());
Run Code Online (Sandbox Code Playgroud)
问题是当我运行应用程序时,无法加载css文件.
Tol*_*yüz 107
由于.css文件是静态文件,因此您必须将它们提供给客户端.但是,您不会将静态文件作为快速中间件提供.将以下中间件添加到您的快速应用程序并将该css文件夹移动到该目录下public(您应该创建一个public directory)
app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)
所以你的最终目录结构应该是这样的
app.js
views
home.html
public
css
style.css
Run Code Online (Sandbox Code Playgroud)
并且不要忘记要求path模块
var path = require('path')
Run Code Online (Sandbox Code Playgroud)
小智 5
在我的一个应用程序中,我的文件结构中有这些相关文件:
\n/\nindex.js\n /public\n /stylesheets\n main.css\n /views\n /partials\n header.ejs\nRun Code Online (Sandbox Code Playgroud)\n包括index.js\ app.use(express.static(path.join(__dirname, '/public')));n注意/public.
header.ejs 部分包括<link rel='stylesheet' type='text/css' href='/stylesheets/main.css' />\n请注意中间件隐含的 public, it\xe2\x80\x99s。
在您的示例中,静态文件的当前目录与您保存静态文件的位置不匹配。
\n| 归档时间: |
|
| 查看次数: |
64971 次 |
| 最近记录: |