我是nodejs/reactjs世界的新手,所以如果我的问题听起来很傻,我很抱歉。我在摆弄react。js。
每当我做一个npm启动,它总是运行在localhost:8080。
如何将其更改为在0.0.0.0:8080上运行以使其可公开访问?我一直试图阅读上述回购中的源代码,但未能找到执行此设置的文件。
此外,要补充的是-我如何使它在端口80上运行,如果这是可能的?
我是nodejs/reactjs世界的新手,所以如果我的问题听起来很傻,我很抱歉。我在摆弄react。js。
每当我做一个npm启动,它总是运行在localhost:8080。
如何将其更改为在0.0.0.0:8080上运行以使其可公开访问?我一直试图阅读上述回购中的源代码,但未能找到执行此设置的文件。
此外,要补充的是-我如何使它在端口80上运行,如果这是可能的?
当前回答
对我来说,这个代码起作用了。只要把它加在你的包装上。Json文件:
"scripts": {
"dev-server": "encore dev-server",
"dev": "webpack-dev-server --progress --colors",
"watch": "encore dev --watch",
"build": "encore production --progress"
},
然后通过运行npm run build运行脚本“build”
其他回答
我尝试了上面的解决方案,但没有运气。我注意到这一行在我的项目的package.json:
"bin": {
"webpack-dev-server": "bin/webpack-dev-server.js"
},
我查看了bin/webpack-dev-server.js,发现了这一行:
.describe("port", "The port").default("port", 8080)
我把端口改成了3000。有点蛮力的方法,但对我很有效。
我尝试这样做是为了方便地使用另一个端口:
PORT=80 npm run dev
告诉你你正在尝试做的事情的安全影响的b/c,我觉得很脏,但你来吧。
NPM执行dev——-h 0.0.0.0 -p 80
对我来说:改变监听主机有效:
.listen(3000, 'localhost', function (err, result) {
if (err) {
console.log(err);
}
console.log('Listening at localhost:3000');
});
改为:
.listen(3000, '0.0.0.0', function (err, result) {
if (err) {
console.log(err);
}
console.log('Listening at localhost:3000');
});
服务器开始监听0.0.0.0
其他一些答案让我很纠结。(我的设置是:我在Windows下的Ubuntu 18.04虚拟机上使用vue init webpack创建我的项目后,使用webpack 3.12.0运行npm run dev。我有流浪者配置转发端口3000到主机。)
不幸的是,让npm run dev——host 0.0.0.0——port 3000不起作用——它仍然运行在localhost:8080上。 此外,webpack.config.js文件并不存在,创建它也没有帮助。 然后我发现配置文件现在位于build/webpack.dev.conf.js(和build/webpack.base.conf.js和build/webpack.prod.conf.js)。然而,修改这些文件看起来并不是一个好主意,因为它们实际上是从process.env中读取HOST和PORT。
所以我搜索了如何设置进程。Env变量和achieved success by running the command:
HOST=0.0.0.0 PORT=3000 npm run dev
这样做之后,我终于得到“您的应用程序正在这里运行:http://0.0.0.0:3000”,我终于能够通过从主机上浏览localhost:3000看到它。
编辑:另一种方法是在config/index.js中编辑dev主机和端口。