学习如何使用Webpack来设置一个MERN堆栈项目。运行Webpack将所有文件打包后,启动Express服务器时,我发现bundle.js未找到,并且在控制台中看到了localhost:3000/bundle.js的404状态代码。也许我的路径不正确或我遗漏了某些内容。
Package.json
{
"name": "mern_tut",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"express": "^4.16.1",
"react": "^16.0.0",
"react-dom": "^16.0.0",
"webpack": "^3.6.0"
}
}
webpack.config.js
const path = require('path');
module.exports = {
entry: './static/app.js',
output: {
path: path.resolve('dist'),
filename: 'bundle.js'
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
]
}
}
.babelrc
{
"presets":[
"es2015", "react"
]
}
server.js
var express = require('express')
var app = express();
app.use(express.static('static'));
var server = app.listen(3000, function() {
var port = server.address().port;
console.log("Started server at port", port);
});
项目设置
- dist
-bundle.js
- node_modules
- static
-app.js
-index.html
- .babelrc
- package.json
- server.js
- webpack.config.js