Когда использовать ' npm start 'и когда использовать'ng serve'?




ng serve обслуживает угловой проект через сервер разработки







npm start запускает произвольную команду, указанную в пакете " start"
свойство его объекта "скрипты". Если свойство "start" не указано
на объекте "скрипты" он будет запускать сервер узлов.js.




кажется ng serve запускает встроенный сервер, тогда как npm start запускает серверы узлов.



может кто-то подкинуть свет на нем?

870   3  

3 ответов:

npm start будет работать все, что вы определили для на .

так что если это выглядит так:

"scripts": {
  "start": "ng serve"
}

затем npm start будет работать ng serve.

для проекта, который использует CLI, вы обычно будете использовать ng serve. В других случаях вы можете использовать npm start. Вот подробное объяснение:

НГ служить

будет служить проект, который и 'Angular CLI aware', т. е. проект, который был создан с использованием Angular CLI, в частности с использованием:

ng new app-name

Итак, если вы создали проект с помощью CLI, вы, вероятно, захотите использовать ng serve

npm старт

Это может быть использовано в случае проекта, который составляет не Угловое командной строки понимаем (или он может просто использоваться для запуска 'НГ служить для Проект угловой Кинк в курсе)

как указано в других ответах, это команда npm, которая будет запускать команды npm из пакета.json, которые имеют идентификатор "start", и он не просто должен запускать "ng serve". Можно иметь что-то вроде следующего в пакете.json:

   "scripts": {
     "build:watch": "tsc -p src/ -w",
     "serve": "lite-server -c=bs-config.json",
     "start": "concurrently \"npm run build:watch\" \"npm run serve\""
     ...
   },
   "devDependencies": {
     "concurrently": "^3.2.0",
     "lite-server": "^2.2.2",

In в этом случае 'npm start' приведет к выполнению следующих команд:

concurrently "npm run build:watch" "npm run serve"

это будет одновременно запускать компилятор TypeScript (наблюдая за изменениями кода) и запускать узел lite-server (который пользователи BrowserSync)

из документа

npm-start:

при этом выполняется произвольная команда, указанная в свойстве пакета "start" объекта "scripts". Если в объекте" scripts "не указано свойство" start", он будет запускать сервер узлов.js.

что означает, что он будет вызывать сценарии запуска внутри пакета.json

"scripts": {
"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite --baseDir ./app --port 8001\" ",
"lite": "lite-server",
 ...
}

НГ служить:

обеспечивается угловой / угловой-cli для запуска angular2 приложений, которые созданные угловые-Кинк. когда вы устанавливаете angular-cli, он создаст ng.УМК под C:\Users\name\AppData\Roaming\npm (для Windows) и выполнить "%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*

так что с помощью npm start вы можете сделать свое собственное исполнение, где ng serve только для углового-cli

Читайте Также : что происходит, когда вы запускаете ng служить?

Comments

    Ничего не найдено.