我正在尝试编写一个简单的角2应用程序,它使用CommonJS节点模块(节点Yelp)。在默认情况下,角2使用SystemJS,它能够加载不同的模块格式。
我尝试过几种不同的SystemJS配置和导入语句,但它们似乎都以
SyntaxError:意外令牌<(…)
目前,我的SystemJS配置如下
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
},
map: {
yelp: 'node_modules/yelp'
}
});
System.import('app/main')
.then(null, console.error.bind(console));还有我的简单AppComponent.ts
import {Component} from 'angular2/core';
import Yelp from 'yelp';
@Component({
selector: 'app',
templateUrl: '/app/app.component.html'
})
export class AppComponent {
constructor(yelp: Yelp) {
console.log(yelp);
}
}我仍然在试图把我的头脑围绕整个模块系统,所以我不确定在这里要改变什么。任何在线结果似乎都过时了,或者与用CommonJS加载SystemJS节点模块无关。
发布于 2016-03-09 06:54:28
我想你可以试试这样的方法:
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
},
yeld: {
main: index.js
}
},
map: {
yelp: 'node_modules/yelp'
}
});和
import * as Yelp from 'yelp';发布于 2016-03-10 02:04:44
正如我所预料的,这个解决办法很简单。
在角2 System.config中使用NPM包时,不要尝试滚动您自己的
相反,使用jspm安装软件包。这样做,所有的System.config都将由jspm处理。在这个特殊的情况下,它就像
jspm安装npm:yelp
然后再加上
import Yelp from 'npm:yelp@1.0.1';到我的AppComponent.ts文件的顶部
https://stackoverflow.com/questions/35882131
复制相似问题