express server在启动时返回错误
我很难弄清楚为什么我的服务器在启动时会返回错误。我没有使用WebpackDevServer,因为它不编译JS文件,所以我决定创建自己的服务器。当我打开浏览器时,它显示一条错误消息,上面写着:express server在启动时返回错误,express,server,webpack,Express,Server,Webpack,我很难弄清楚为什么我的服务器在启动时会返回错误。我没有使用WebpackDevServer,因为它不编译JS文件,所以我决定创建自己的服务器。当我打开浏览器时,它显示一条错误消息,上面写着: server.js: var webpack = require('webpack'), path = require('path'), express = require('express'), devMiddleware = require('webpack-dev-middle
server.js
:
var webpack = require('webpack'),
path = require('path'),
express = require('express'),
devMiddleware = require('webpack-dev-middleware'),
hotMiddleware = require('webpack-hot-middleware'),
config = require('./webpack.config'),
app = express(),
host = '127.0.0.1',
port = 8000;
var middleware = devMiddleware(webpack({
entry: path.join(__dirname, 'app/src/main.js'),
output: {
path: '/',
}
}), {
noInfo: true,
publicPath: config.output.publicPath,
index: path.join(__dirname, 'app/index.html'),
stats: {
colors: true
}
});
app.use(middleware);
app.use(hotMiddleware(webpack(config)));
app.get('/', function(req, res) {
res.write(middleware.fileSystem.readFileSync(path.join(__dirname, 'app/index.html')));
res.end();
});
app.listen(port, host, function(err) {
if (err) {
console.error(err);
}
console.log('Listening on ' + host + ':' + port);
});
项目文件和目录:我不明白为什么会这样。也许我错过了很多重要的插件或依赖项,使它像react hot loader一样成功?或者这不要紧?从我看来,您不应该使用
中间件.fileSystem.readFileSync()
来处理index.html
(这不是您的捆绑包的一部分)的请求
只需使用fs.readFileSync()
或者最好使用res.sendFile()
:
因此,我应该在我的
server.js
?@jst.16中要求使用fs.readFileSync()
,然后是。好的。非常感谢。
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname, 'app/index.html'));
});