简体   繁体   中英

How npm start runs a server on port 8000

I recently used a angular-seed folder from github for angular application development. In some previous angularjs tutorial there was a script folder and a server.js file in the angular-seed folder which had all the configuration for running the node server. So how does npm now just start running a node server and where is all the configuration of that node server?

If you will look at package.json file.

you will see something like this

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

This tells start a http-server at address of localhost on port 8000

http-server is a node-module.

Update:- Including comment by @Usman, ideally it should be present in your package.json but if it's not present you can include it in scripts section.

We have a react application and our development machines are both mac and pc. The start command doesn't work for PC so here is how we got around it:

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

On my mac:

npm start

On my pc:

 npm run start-pc

更改端口

npm start --port 8000

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

npm start -- --port 8000

You can change the port in the console by running the following on Windows :

SET PORT=8000

For Mac , Linux or Windows WSL use the following:

export PORT=8000

The export sets the environment variable for the current shell and all child processes like npm that might use it.

If you want the environment variable to be set just for the npm process, precede the command with the environment variable like this (on Mac and Linux and Windows WSL ):

PORT=8000 npm run start
npm run dev -- --port 3001

npm run on another port in cmd

"start": "react-scripts start",更改为"start": "set PORT=3001 && react-scripts start",

或者干脆在终端

set port=5500 && npm start

The solution which will work on every machine, let it be MAC, Window, Linux or any other, just specify the port where you want to run. In your package.json do this :

 "start": "export PORT=3001 && react-scripts start "

npm start --port 8000 does not work. You should write command like this.

ng serve --port 8000

$npm run start -- -p 8000

8000 is port number you can change your port number

(For those still suffering despite trying all the answers.)

Here is a quick fix that should not be used in production!

Just forward the source port to the target one that you need. Open another shell and tap this command:

socat tcp-listen:8000,reuseaddr,fork tcp:192.168.1.48:3000

In this example; 3000 is the port of the server and 8000 the port you want to forward to (or receive from to be precise)

Enjoy!

npm start -- --port "port number"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM