2016-12-16 72 views
1

我正在尝试执行Angular Universal quickstart,并且在运行“node server.js”时出现此错误。意外的令牌导入运行节点server.js

Benjamins-MBP:vepo Ben$ node server.js 
/Users/Ben/Development/vepo/server.js:3 
import 'angular2-universal/polyfills'; 
^^^^^^ 
SyntaxError: Unexpected token import 
    at Object.exports.runInThisContext (vm.js:76:16) 
    at Module._compile (module.js:542:28) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:394:7) 
    at startup (bootstrap_node.js:149:9) 
    at bootstrap_node.js:509:3 
Benjamins-MBP:vepo Ben$ 

我正在为现有的角度2应用程序添加通用功能。

我该如何摆脱错误?

编辑:我得到了几个错误,当运行NPM安装:

Benjamins-MBP:vepo Ben$ sudo npm install body-parser angular2-universal preboot express --save 
Password: 
[email protected] /Users/Ben/Development/vepo 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
└── UNMET PEER DEPENDENCY [email protected] invalid 

Benjamins-MBP:vepo Ben$ sudo typings install node express body-parser serve-static express-serve-static-core mime --global 
typings ERR! message Unable to find "node" ("npm") in the registry. 
typings ERR! message However, we found "node" for 2 other sources: "dt" and "env" 
typings ERR! message You can install these using the "source" option. 
typings ERR! message We could use your help adding these typings to the registry: https://github.com/typings/registry 
typings ERR! caused by https://api.typings.org/entries/npm/node/versions/latest responded with 404, expected it to equal 200 
typings ERR! 
typings ERR! cwd /Users/Ben/Development/vepo 
typings ERR! system Darwin 16.1.0 
typings ERR! command "/usr/local/bin/node" "/usr/local/bin/typings" "install" "node" "express" "body-parser" "serve-static" "express-serve-static-core" "mime" "--global" 
typings ERR! node -v v6.9.1 
typings ERR! typings -v 2.0.0 
typings ERR! 
typings ERR! If you need help, you may report this error at: 
typings ERR! <https://github.com/typings/typings/issues> 

我改成了这一点,但它引发错误:

require('angular2-universal/polyfills'); 
require ('path'); 
require ('express'); 

// Angular 2 Universal 
require ('@angular/router/provideRouter'); 
require ('@angular/core/enableProdMode'); 
require ('angular2-universal/*'); 

// replace this line with your Angular 2 root component 
require ('./app/AppModule'); 
require ('./app/app.routes/*') 

错误:

Benjamins-MBP:vepo Ben$ node server.js 
module.js:471 
    throw err; 
    ^

Error: Cannot find module 'angular2-universal/polyfills' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/Users/Ben/Development/vepo/server.js:3:1) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
Benjamins-MBP:vepo Ben$ node server.js 
module.js:471 
    throw err; 
    ^

Error: Cannot find module 'angular2-universal/polyfills' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/Users/Ben/Development/vepo/server.js:3:1) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 

回答

2

使用require而不是import

因为它们还没有实现。

节点使用V8的一个版本,大部分ES6功能已完成。不幸的是,模块不是那些完成的功能之一。

+0

你好,谢谢你的解释。但它是从官方的Angular通用指南https://universal.angular.io/quickstart/中提取的。在server.js中提到了import。 – Sergey

0

为了您的分型安装使用 “DT〜” 前缀

例子: 分型安装--save --global DT〜节点