我正在创建一个简单的反应应用程序,使用webpack作为bundler和nodejs来创建服务器。问题是我的webpack没有在目标文件夹中生成输出文件。我没有看到任何错误,http://localhost:3000
显示我的预期内容,但未生成dist
文件夹。
这是否与热模块重新编码有关,而webpack正在为我生成内存中的所有内容。我不确定。我很反应,任何帮助都将受到高度赞赏。
由于
webpack.config.js
var path = require('path');
var webpack = require('webpack');
module.exports = {
devtool: 'eval',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./src/index'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'src')
}]
}
};
的package.json
"scripts": {
"start": "node server.js",
"lint": "eslint src"
},
//remaining dependencies
server.js
var webpack = require('webpack');
var WebpackDevServer = require('webpack-dev-server');
var config = require('./webpack.config');
new WebpackDevServer(webpack(config), {
publicPath: config.output.publicPath,
hot: true,
historyApiFallback: true
}).listen(3000, 'localhost', function (err, result) {
if (err) {
return console.log(err);
}
console.log('Listening at http://localhost:3000/');
});
答案 0 :(得分:1)
你应该使用'webpack'而不是'webpack-dev-server',coz'webpack'会生成你的代码到磁盘,而'webpack-dev-server'只是将你的代码提供给你的localhost