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

时间:2019-04-13 11:15:51

标签: angular express webpack server

我试图在开发模式下运行一个基于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

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

是否可以通过邮递员启动节点服务器并将其定位为目标? 我真的尝试了所有命令...

1 个答案:

答案 0 :(得分:0)

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

因此您应该使用:

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

或者,如果您想尝试nodejs exprimental modules,请启动脚本,如下所示:

node --experimental-modules my-app.mjs