npm start如何在端口8000上运行服务器


78

我最近使用了github上的angular-seed文件夹进行角度应用程序开发。在以前的一些angularjs教程中,angular-seed文件夹中有一个脚本文件夹和一个server.js文件,这些文件具有运行节点服务器的所有配置。那么npm现在如何开始运行节点服务器,该节点服务器的所有配置在哪里?



我来到这里寻找非角度解决方案(基本上是React的Next.js),并在下面的答案中找到了解决方案。至少对我而言,使用Next.js时,package.json文件中未定义端口。 npm run dev -- --port ####让我指定端口。
贾森·R·史蒂文斯CFA

Answers:


84

如果您看一下package.json文件。

你会看到这样的东西

 "start": "http-server -a localhost -p 8000"

这告诉在端口上的起始http-server地址localhost8000

http服务器是一个节点模块。

更新:-包括@Usman的评论,理想情况下,它应该存在于您的评论中,package.json但是如果不存在,则可以在scripts部分中进行评论。


我在package.json中找不到此文件,但是将其添加到“ scripts”:{}部分对我来说很有用。
Usman

@Usman理想情况下,它应该在您的中package.json,但如果没有,您可以随时添加它。更新了答案,感谢您指出。
Mritunjay

1
您只启动了一些http服务器,但没有启动react-scripts。PORT = 3001 react-scripts开始解决了问题
Ilya Khudyakov

77

我们有一个React应用程序,我们的开发机器是mac和pc。启动命令不适用于PC,因此以下是我们的解决方法:

"start": "PORT=3001 react-scripts start",
"start-pc": "set PORT=3001&& react-scripts start",

在我的Mac上:

npm start

在我的电脑上:

 npm run start-pc

这真的挽救了我的一天!我正在寻找一个正确的启动节点,而不是Express上的3000端口。非常感谢!。顺便说一句,启动命令在PC上确实有效。在我的配置中看起来像这样"start": "set PORT=3001 && node ./bin/www"
Konstantin

是的,我输错了。启动在PC上确实可以使用,但是设置端口的语法与Mac / Linux不同。这就是为什么我有2个“开始”命令的原因。一个是Mac的“启动”,另一个是我的PC的“启动PC”。
YeeHaw1234

非常感谢你!
DmitryKanunnikoff

56

更改端口

npm start --port 8000

问题是从8000端口开始...也许是一个错字输入9000?
Akber Iqbal,

是的,它需要> ng服务“ --port”“ 8000”。运行良好。
卡皮尔·拉格万希

1
为什么还要加上两个破折号?
gfels

@gfels,我不知道。但是我尝试了两个破折号,但没有成功。
jtagle

2
即使指定了端口8000 ..它仍在寻找3000$ npm start -port 8000 > react-basics-v1@0.1.0 start F:\React\react-basics-v1 > react-scripts start "8000" Something is already running on port 3000.
Lead Developer

36

您可以通过在Windows上运行以下命令在控制台中更改端口:

SET PORT=8000

对于MacLinuxWindows WSL,请使用以下命令:

export PORT=8000

出口将针对当前的外壳和所有子进程,如环境变量NPM可能会使用它。

如果您只想为npm进程设置环境变量,请在命令前加上这样的环境变量(在MacLinuxWindows WSL上):

PORT=8000 npm run start

1
对于临时测试,这要简单得多。谢谢!
sbbs

5
当我已经在“默认”端口上运行其他项目时,我只是将其指定为启动命令的一部分。 PORT=<port #> npm start
德鲁·里斯

28

要在所需端口中正确启动端口,请使用:

npm start -- --port 8000


1
这正是我来这里寻找的内容。我正在使用Next.js(反应),现在可以在给定的端口上运行开发服务器;npm run dev -- --port 8000像魅力一样运作。
Jason R Stevens CFA

Something is already running on port 3000都不起作用
dotista2008

1
这对我没有用。模块将自动启动对3000
BReddy

3
为什么还有多余的--
Amir Heshmati

1
在两个额外的--存在在这个线程@AmirHeshmati一个很好的答案stackoverflow.com/questions/43046885/...
theocikos

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.