我剛剛開始學習nodejs
並面臨Express
框架中我無法加載簡單的HTML文件的問題。爲什麼在Express中不工作?
我的項目結構是這樣的:
在資產有兩個額外的文件夾:js
和css
其中包含的文件。我server.js
文件看起來像這樣:
module.exports.start = function(config) {
var express = require(config.MODULES_DIR + 'express'),
app = express(),
http = require('http'),
server = http.createServer(app),
io = require(config.MODULES_DIR + 'socket.io').listen(server),
fs = require('fs'),
path = require('path');
server.listen(config.APP_PORT);
// Setting static files dir to load it automatically
app.use(express.static(config.ROOT_DIR + '/assets/'));
console.log(config.ROOT_DIR + '/assets/');
app.get('/', function (req, res) {
res.sendfile(dir + 'index.html');
});
}
config.ROOT_DIR + '/assets/'
回報/Sites/node_project/assets/
這是文件的確切位置。要100%地肯定我運行ls /Sites/node_project/assets/
並返回css js
,但仍當我打開http://192.168.1.109:4935
我只得到index.html
沒有js
或css
...如果我嘗試直接打開某些文件,例如CSS我得到Cannot GET /assets/css/jquery.mobile.css
...
什麼我做錯了?
UPDATE
找到了解決辦法,它應該像app.use('/assets', express.static(config.ROOT_DIR + '/assets/'));