Angular 6和NodeJS Express服务器中的开发模式

问题描述 投票:0回答:1

我正在尝试在开发模式下运行一个构建在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"
  },

当我尝试做:node 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}`);
});

但是我从来没有收到过这条消息(节点服务器正在监听......),这很奇怪。

有可能以某种方式启动节点服务器并使用Postman来定位它吗?我真的尝试了所有命令......

angular express webpack server
1个回答
0
投票

Nodejs使用require语法而不是ES6 import,因为它不像babel那样编译为angular。

所以你应该使用:

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

或者如果您想尝试nodejs exprimental modules,请按以下方式启动脚本:

node --experimental-modules my-app.mjs
© www.soinside.com 2019 - 2024. All rights reserved.