我正在尝试在dev模式下运行一个应用程序,该应用程序构建在Angular-Universal-Starter包之上。
这个想法是有一个服务器--用于NodeJS,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}`);
});但是我从来没有收到过这条消息(节点服务器正在侦听...)这很奇怪。
有没有可能以某种方式启动节点服务器并将其作为邮递员的目标?我真的试过所有的命令...
发布于 2019-04-13 19:18:59
Nodejs使用require语法,而不是ES6 import,因为它不像angular那样是由babel编译的。
所以你应该使用:
require('zone.js/dist/zone-node.js');或者,如果您想尝试nodejs exprimental modules,可以像这样启动脚本:
node --experimental-modules my-app.mjshttps://stackoverflow.com/questions/55664855
复制相似问题