如何让 webpack 开发服务器在端口 80 和 0.0.0.0 上运行以使其可公开访问?

IT技术 node.js reactjs npm webpack webpack-dev-server
2021-04-14 02:29:42

我是整个nodejs / reactjs世界的新手,如果我的问题听起来很傻,我表歉意。所以我在玩reactabular.js

每当我做一个npm start它总是运行localhost:8080

如何更改它以继续运行0.0.0.0:8080以使其可公开访问?我一直在尝试阅读上述 repo 中的源代码,但未能找到执行此设置的文件。

另外,补充一点 -80如果可能的话,我如何让它在端口上运行

6个回答

像这样的东西对我有用。我猜这应该对你有用。

使用这个运行 webpack-dev

webpack-dev-server --host 0.0.0.0 --port 80

并在 webpack.config.js 中设置

entry: [
    'webpack-dev-server/client?http://0.0.0.0:80',
     config.paths.demo
 ]

注意如果使用热加载,则必须执行此操作。

使用这个运行 webpack-dev

webpack-dev-server --host 0.0.0.0 --port 80

并在 webpack.config.js 中设置

entry: [
    'webpack-dev-server/client?http://0.0.0.0:80',
    'webpack/hot/only-dev-server',
     config.paths.demo
 ],

....
plugins:[new webpack.HotModuleReplacementPlugin()]
如果您收到 Invalid Host Header,您可能需要在 webpack.serve.config.js 中将 disableHostCheck 设置为 true。参见github.com/webpack/webpack-dev-server/issues/882根据您的情况,这可能是一个安全漏洞,所以要小心。
2021-05-22 02:29:42
顺便说一句,在其他人可能会连接到您的设备的公共场所绑定 0.0.0.0 时要小心。这可能会导致您的数据被盗。您可能需要为开发服务器安装防火墙,例如:github.com/funbox/webpack-dev-server-firewall
2021-05-26 02:29:42
嗨,我是新手,但想将 redux 用于我的客户端脚本。问题是该应用程序是一个 .net 应用程序,它为内容和 json 端点提供服务。所以要在开发过程中做到这一点,我需要添加<script src="http://localhost:8080/webpack-dev-server.js"></script>到页面并安装一些允许跨域的插件?这些工具看起来很有趣,但似乎假设您的服务器也是节点,还是我遗漏了什么?
2021-06-03 02:29:42
也许这对我有帮助:webpack.github.io/docs/webpack-dev-server.html#proxy我认为除了对 javascript 文件的请求和由 webpack 服务器、hotloader 和 redux timetravel 发出的一些请求之外的所有内容都使用代理。所以/data:image ...... .js/sockjs-node...
2021-06-06 02:29:42

我就是这样做的,它似乎工作得很好。

在 webpack.config.js 文件中添加以下内容:

devServer: {
    inline:true,
    port: 8008
  },

显然,您可以使用任何不与其他端口冲突的端口。我提到冲突问题只是因为我花了大约 4 个小时。解决问题只是为了发现我的服务在同一个端口上运行。

您能否添加指向文档的链接
2021-05-25 02:29:42
只需添加 inline:true 对我有用。顺便说一句,我编辑的 webpack 文件是“webpack.dev.conf.js”(截至 2018 年 3 月)。
2021-05-28 02:29:42
我认为这是不是在配置文件的入口部分指定主机和端口?
2021-05-31 02:29:42

使用以下命令配置 webpack(在 webpack.config.js 中):

devServer: {
  // ...
  host: '0.0.0.0',
  port: 80,
  // ...
}
当我使用(webpack.config)时它对我有用:devServer:{host:'xx.xx.xx.xxx',端口:8089},
2021-05-24 02:29:42
是的,这解决了我在 Cloud9 实例上运行 webpack 的问题。谢谢!
2021-05-28 02:29:42
这解决了我在尝试遵循Udemy 上Modern React with Redux 课程时非常相关的问题我在Vagrant虚拟机中的Windows 上运行我的开发环境本课程绝对不提供有关设置开发环境的指导。
2021-06-03 02:29:42
它不适合。devServer: { inline: true, host: '0.0.0.0', port: 8088 },
2021-06-17 02:29:42
我能够使用上面的代码片段更改端口号,但主机仍然没有更改。我试图将主机设为 0.0.0.0,以便我可以从 ip-address 访问该站点,但它不起作用。任何帮助如何实现这一目标?
2021-06-18 02:29:42

我是 JavaScript 开发和 ReactJS 的新手。我无法找到适合我的答案,直到通过查看 react-scripts 代码找出答案。使用 ReactJS 15.4.1+ 和 react-scripts,您可以使用环境变量从自定义主机和/或端口开始:

HOST='0.0.0.0' PORT=8080 npm start

希望这对像我这样的新人有所帮助。

这是完美的答案!谢谢
2021-06-09 02:29:42

以下为我工作 -

1)在Package.json添加这个:

"scripts": {
    "dev": "webpack-dev-server --progress --colors"
}

2)在webpack.config.js您导出的配置对象下添加:

devServer: {
    host: "GACDTL001SS369k", // Your Computer Name
    port: 8080
}

3)现在在终端类型上: npm run dev

4) 在#3 编译并准备好之后,只需转到您的浏览器并输入地址作为 http://GACDTL001SS369k:8080/

您的应用现在应该可以使用其他人可以在同一网络上访问的外部 URL。

PS:GACDTL001SS369k是我的计算机名称,所以请替换为您机器上的任何名称。