【发布时间】:2016-06-23 06:27:56
【问题描述】:
我正在尝试编写一个使用 CommonJS 节点模块 (Node Yelp) 的简单 Angular 2 应用程序。 Angular 2 默认使用SystemJS,它能够加载不同的模块格式。
我尝试了几种不同的 SystemJS 配置和导入语句,但似乎都以
结尾SyntaxError: Unexpected token
目前,我的 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);
}
}
我仍在尝试围绕整个模块系统进行思考,所以我不确定要在这里更改什么。任何在线结果似乎都已过时,或者与使用 SystemJS 加载 CommonJS 节点模块无关。
【问题讨论】:
-
该错误通常发生是因为如果找不到请求的路径,您的服务器会返回 index.html... 检查 DevTools>Network 并查看 systemjs 正在尝试加载的文件(路径)。
-
@Sasxa 啊,好电话。似乎 SystemJS 没有正确遍历包。默认情况下它不会获取 index.js,然后当我对其进行硬编码时,它不知道在
node_modules中查找包依赖项。 -
试试
meta选项,它支持通配符
标签: angularjs typescript angular commonjs systemjs