我试图在开发模式下运行一个基于Angular-Universal-Starter包构建的应用程序。
想法是有一个NodeJS Express服务器-用于API,而Angular 6用于前端。
我的Angular package.json文件包含以下内容:
else {
if($this->input->post('login')) {
$u=$this->input->post('username');
$p=$this->input->post('password');
}
// call method of Login_Model and pass variables as parameter
$this->load->model('Login_model');
$result['output']=$this->Login_model->check_course();
if($this->Login_model->check($u,$p)) {
$session_data=array('username'=> $u);
$this->session->set_userdata($session_data);
echo Modules::run('stu_hm/index',$session_data,$result);
// $this->load->view('output',$result);
}
}
当我尝试执行以下操作时:node server.js,出现错误:
"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
但是我从没收到此消息(正在监听节点服务器...),这很奇怪。
是否可以通过邮递员启动节点服务器并将其定位为目标? 我真的尝试了所有命令...
答案 0 :(得分:0)
Nodejs使用require语法而不是ES6 import,因为它不是像angular那样由babel编译的。
因此您应该使用:
require('zone.js/dist/zone-node.js');
或者,如果您想尝试nodejs exprimental modules,请启动脚本,如下所示:
node --experimental-modules my-app.mjs