问候我第一次构建MERN堆栈并使用Webpack作为构建工具。目标是让Express提供的应用程序的API以及webpack-dev-server提供的静态内容(我的静态目录)和捆绑包。webpack-dev-server获取空白屏幕
Here is my build:
Project is running at http://localhost:8000/
webpack output is served from/
Content not from webpack is served from static
Hash: 0f82642b68722fddb0c7
Version: webpack 3.1.0
Time: 3941ms
Asset Size Chunks Chunk Names
app.bundle.js 15.4 kB 0 [emitted] app
vendor.bundle.js 1.35 MB 1 [emitted] [big] vendor
[10] (webpack)/buildin/global.js 509 bytes {1} [built]
[80] ./node_modules/react/react.js 56 bytes {1} [built]
[153] (webpack)-dev-server/client?http://localhost:8000 5.59 kB {1} [built]
[171] (webpack)/hot/dev-server.js 1.61 kB {1} [built]
[173] ./node_modules/babel-polyfill/lib/index.js 833 bytes {1} [built]
[209] ./node_modules/react-dom/index.js 59 bytes {1} [built]
[235] ./node_modules/whatwg-fetch/fetch.js 12.7 kB {1} [built]
[236] multi (webpack)-dev-server/client?http://localhost:8000 webpack/hot/dev-server ./src/App.jsx 52 bytes {0} [built]
[237] ./node_modules/url/url.js 23.3 kB {1} [built]
[243] ./node_modules/strip-ansi/index.js 161 bytes {1} [built]
[245] (webpack)-dev-server/client/socket.js 856 bytes {1} [built]
[284] ./src/App.jsx 655 bytes {0} [built]
[482] ./node_modules/react-dom/lib/ReactDOM.js 5.17 kB {1} [built]
[567] ./src/IssueList.jsx 8.32 kB {0} [built]
[570] multi (webpack)-dev-server/client?http://localhost:8000 webpack/hot/dev-server react react-dom whatwg-fetch babel-polyfill 88 bytes {1} [built]
+ 556 hidden modules
webpack: Compiled successfully.
My dependencies:
"dependencies": {
"body-parser": "^1.17.2",
"express": "^4.15.3",
"mongodb": "^2.2.29"
},
"devDependencies": {
"babel-cli": "^6.24.1",
"babel-core": "^6.25.0",
"babel-loader": "^7.1.1",
"babel-polyfill": "^6.23.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"nodemon": "^1.11.0",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"webpack": "^3.0.0",
"webpack-dev-server": "^2.5.1",
"whatwg-fetch": "^2.0.3"
}
My webpack.config.js file:
const webpack = require('webpack');
const path = require('path');
module.exports = {
entry: {
app: './src/App.jsx',
vendor:['react', 'react-dom', 'whatwg-fetch'],
},
output: {
path: path.resolve(__dirname, './static'),
filename: "app.bundle.js"
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({name: 'vendor',filename: 'vendor.bundle.js'})
],
module: {
rules:[
{
test:/\.jsx$/,
use: {
loader: 'babel-loader',
options: {
presets: ['react','es2015']
}
}
},
]
},
devServer:{
port: 8000,
contentBase: '/Users/Angel/WebstormProjects/myMern/static',
proxy: {
'/api/*':{
target: 'http://localhost:3000',
}
}
}
};
当我打开端口:8000我得到了一个空白屏幕,但所有的网络流量是好....我我失去了一些东西?
谢谢。
在你的'contentBase'目录中,你有一个'index.html'文件,它包含脚本标签给你的包和供应商文件吗?看看[html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) – Bulkan
是的,我喜欢。谢谢你的慰问。这两个脚本都在我的身体标记内。 vendor.bundle.js然后是App.bundle.js。 –
不要为contentBase使用绝对路径。只要做'静态'或'斌'或什么的。您甚至不会看到创建的文件夹,因此无所谓 –