【发布时间】:2020-02-19 01:02:45
【问题描述】:
我正在关注官方webpack tutorial 设置 webpack 开发服务器。这是我的 webpack 配置:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
mode: 'development',
entry: {
app: './src/index.js',
print: './src/print.js',
},
devtool: 'inline-source-map',
devServer: {
contentBase: './dist',
// port: 8081 // <-- uncommenting this line gets rid of the error
},
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
title: 'Output Management',
})
],
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist'),
},
}
但是,当我尝试运行服务器时,我遇到了一个奇怪的问题。代码根据 webpack 输出正确编译,但是当 URL 尝试在 Chrome/Safari 中打开时,我得到“无法访问此站点”ERR_CONNECTION_RESET。在上面的配置中,当我取消注释 8081 行时,一切都按预期工作(除了服务器现在位于端口 8081 上)。
一开始以为端口一定被占用了,结果发现不是这样,因为我可以运行类似的文件
var http = require('http');
http.createServer(function (req, res) {
res.write('Hello World!');
res.end();
}).listen(8080);
并在端口 8080 上查看预期的 Hello World。
为什么 webpack 开发服务器无法在 8080 端口上工作?
如果重要的话,我使用的是 OSX 10.15 Catalina 和 Node.js v12.13.0。
【问题讨论】:
标签: javascript webpack webpack-dev-server