我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
当前回答
如果你在Dockerfile中运行npm start,你不能在docker运行中映射端口,比如做一些类似-p 3001:3000的事情,这是有效的:
FROM node
ENV PORT=3001
# whatever here, COPY .. etc.
CMD npm start
或者你可以在docker build中传递端口号作为参数:
FROM node
ARG PORT=${PORT}
ENV PORT=${PORT}
# whatever here, COPY .. etc.
CMD npm start
在docker build中使用——build-arg
docker build --build-arg PORT=3001 .
其他回答
对于我的windows朋友们,我发现了一种改变ReactJS端口的方法,可以在任何你想要的端口上运行。在运行服务器之前,请转到
node_modules/react-scripts/scripts/start.js
在其中,搜索下面的行并将端口号更改为所需的端口
var DEFAULT_PORT = process.env.PORT || *4000*;
这样就可以开始了。
在espackage旁边的主目录中创建一个名为.env的文件。将PORT变量设置为所需的端口号。
例如:
.env
PORT=4200
您可以在这里找到该操作的文档:https://create-react-app.dev/docs/advanced-configuration
可以在包中指定端口。通过定义端口号:
"scripts": {
"start": "PORT=3006 react-scripts start"}
或 在终端运行脚本时可以指定端口:
PORT=3003 npm start
您需要更新您的软件包。json来指定不同的PORT
在脚本部分,替换start命令如下:—
确保所提到的PORT可以自由监听
"start": "export PORT=3001;react-scripts开始”
您的应用程序将从http://localhost:3001开始
谢谢
这里有另一种方法来完成这项任务。
在项目根目录下创建一个.env文件,并指定端口号。如:
PORT=3005