Режим разработки в Angular 6 и сервере NodeJS Express - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь запустить в режиме разработки одно приложение, построенное на основе пакета Angular-Universal-Starter.

Идея заключается в том, что существует сервер NodeJS Express - для API и Angular.6 для переднего конца.

Мой файл Angular package.json содержит следующее:

   "scripts": {
    "ng": "ng",
    "start": "ng serve && node server.js",
    "build": "ng build",
    "test": "ng test",
    "lint": "tslint ./src/**/*.ts -t verbose",
    "e2e": "ng e2e",
    "build:ssr": "npm run build:client-and-server-bundles && npm run 
   webpack:server",
    "serve:ssr": "node dist/server.js",
    "build:client-and-server-bundles": "ng build --prod && ng run angular.io- 
   example:server",
    "webpack:server": "webpack --config webpack.server.config.js --progress -- 
   colors"
  },

Когда я пытаюсь сделать: узел server.js, я получаю сообщение об ошибке:

import 'zone.js/dist/zone-node';
^^^^^^

SyntaxError: Unexpected token import

В конце server.js у меня есть:

// Start up the Node server
app.listen(PORT, () => {
  require("./server/data/insertData")(db);
  console.log(`Node server listening on http://localhost:${PORT}`);
});

Но я никогда не получаю это сообщение (прослушивание сервера узла ...), и это странно.

Возможно ли этокак запустить сервер узлов и нацелить его почтальоном?Я действительно перепробовал все команды ...

1 Ответ

0 голосов
/ 13 апреля 2019

Nodejs использует требует синтаксис не ES6 импорт , потому что он не скомпилирован как babel как angular.

Поэтому вы должны использовать:

require('zone.js/dist/zone-node.js');

Или, если вы хотите попробовать exprimental модули * nodejs , запустите скрипт так:

node --experimental-modules my-app.mjs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...