如何解决"不能GET /"对于内联模式下的webpack-dev-server

时间:2017-03-13 09:02:54

标签: javascript webpack-dev-server

当我以内联模式使用webpack-dev-server(版本1.14.0)并访问http://127.0.0.1:8080时,结果为Cannot GET /

Error message screenshot

webpack.config.js中的配置为:

devServer: {
    color: true,
    historyApiFallback: false,
    inline: true,
    hot: true,
    contentBase: assetsRoot
}

package.json中的npm脚本是

"scripts": {
    "dev": "webpack-dev-server",
    "build": "webpack -p",
    "clean": "node npm-scripts/del-build.script.js"
}

2 个答案:

答案 0 :(得分:0)

使用node server.js server.js代码:

var webpack = require('webpack');
var WebpackDevServer = require('webpack-dev-server');
var config = require('../webpack.config');
console.log(config);
// 就是这么“复杂”!
// 往webpack的入口配置中加入 webpack-dev-server/client?http://localhost:8080/ 即可
for (var i of Object.keys(config.entry)){
    config.entry[i].unshift("webpack-dev-server/client?http://localhost:8080/");
}
console.log(config.entry);
var compiler = webpack(config);
var server = new WebpackDevServer(compiler, {

});
server.listen(8080);

答案 1 :(得分:0)

我今天遇到了同样的问题,当我尝试搜索解决方案时,我看到了这个问题。

首先我在网页上得到'无法获取/',然后我发现我错误地将contentBase路径改为“path.join(__dirname,'/dist'),导致服务器无法找到该页面。

然后我解决了这个问题。在我的webpack.config.js中,devServer集应该是:

`devServer: {` 
`contentBase: path.join(__dirname, "/client/dist"),`
`compress: true,`
`hot:true,`
`port: 8888,`
`inline:true`
`}`

也许你可以试试这个并再次查看你的目录。