我有两个应用程序,我想在两个不同的端口上运行。我正在使用 webpack 将所有静态内容捆绑在一个 dist 文件夹中并运行静态服务器。静态服务器默认在 9080 上运行,第一个应用程序运行得非常好。但是,当我尝试运行第二个应用程序时,出现端口已在使用中的错误。所以我正在为另一个应用程序设置一个新的端口,以便它在该端口上提供服务。为此,我正在做类似下面的事情。在我的 package.json-
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server --hot --config webpack.prod.js",
"build": "webpack --config webpack.prod.js",
"start:prod": "set PORT=3006 && cd dist && static-server"
}
我无法将端口设置为 3006,而是当我尝试在列表文件夹中运行 status-server 时,出现错误 -
* Shutting down server
events.js:183
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::9080
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at Server.listen (net.js:1476:7)
at StaticServer.start (/usr/local/lib/node_modules/static-server/server.js:114:58)
at Object.<anonymous> (/usr/local/lib/node_modules/static-server/bin/static-server.js:48:8)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
我也尝试在我的 webpack.config.js 中设置端口,但仍然遇到同样的问题。有人可以让我知道我做错了什么。
您应该将端口作为参数而不是环境变量提供给您的进程,例如:
static-server -p 8080
设置环境变量的一些注意事项
如果您使用的是基于 UNIX 的操作系统链接 macOS 或 Linux,则有多种方法可以设置环境变量:
如果您只想为后一个命令设置变量,则应以这种方式使用它
PORT=8080 npm run dev.
如果你想为整个终端会话设置变量,你应该这样设置
$ set -a $ PORT=8080 & yarn run dev
您可以将它添加到您的~/.zshrc
/~/.bashrc
~/.profile
以使其始终在您的终端中:
export PORT=8080
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句