Как запустить ng serve и npm вместе?

#node.js #angular

#node.js #angular

Вопрос:

Это означает, что пример, ng serve приложение нормально запускается на порту 4200, но не может получить данные, поскольку Fiddler показывает, что не удается вызвать API на порту 3000.

введите описание изображения здесь

Как запустить npm вместе с ng?

/package.json

 "name": "awesome-bucketlist",
  "version": "1.0.0",
  "description": "A simple bucketlist app using MEAN stack",
  "main": "app.js",
  "scripts": {
    "start": "node app"
  }
  

/angular-src/package.json:

 {
  "name": "angular-src",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  }
  

запустите.json

 {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:3000/bucketlist",
            "webRoot": "${workspaceFolder}/app.js"
        }
  

Ответ №1:

В вашем package.json вы можете объединить команды вместе с помощью amp;amp; .

Пример:

 "scripts": {
    "start": "./some_script_to_start_angular.sh amp;amp; node app"
}
  

Комментарии:

1. что такое файл .sh?

Ответ №2:

В любом случае, я наконец понял, что наличие Api и пользовательского интерфейса в одной папке / проекте / решении нецелесообразно. API не является специфичным для пользовательского интерфейса, это универсальная DLL / служба, которая должна располагаться где-то сама по себе. Итак, я разделил их на две папки diff и у меня есть 2 экземпляра VSC для их запуска:

  1. запустите API в режиме отладки
  2. во 2-м VSC запустите ng serve и дайте ему время на сборку, после «Успешной компиляции» перейдите в launch.json, чтобы запустить запись отладки, связанную с Chrome, они работают отлично.