我尝试使用SystemJS加载以前编译到ES5中的模块。我有以下错误,但我不知道如何解释错误消息:
Error: Cannot read property 'resolve' of undefined(…)
Promise.reject (async)
g @ system.src.js:4597(anonymous function) @ system.src.js:4597
y @ system.src.js:4597
w @ system.src.js:4597
p @ system.src.js:4597
h @ system.src.js:4597
(anonymous function) @ system.src.js:4597
以下是我的HTML文件中的配置:
<script src="https://rawgithub.com/systemjs/systemjs/0.19.6/dist/system.js"></script>
(...)
<script>
System.config({
packages: {
somepackage: {
format: 'register',
defaultExtension: 'js'
},
src: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('src/somefile')
.then(null, console.error.bind(console));
</script>
我可以启用一些调试模式/跟踪吗?
我尝试直接使用Angular2的源代替捆绑的JS文件。
非常感谢你的帮助! 亨利
答案 0 :(得分:1)
假设文件夹 node_modules 可公开访问!
如果是这样,您可以使用此SystemJS配置文件:
System.config({
defaultJSExtensions: true,
map: {
"app": './src',
"angular2": 'node_modules/angular2',
'rxjs/operator/*' : 'node_modules/rxjs/add/operator/*',
"rxjs": 'node_modules/rxjs',
"reflect-metadata": 'node_modules/reflect-metadata/temp/Reflect.js',
"zone.js": 'node_modules/zone.js/dist/zone.js'
},
packages: {
app: {
defaultExtension: 'js',
format: 'register'
},
angular2: {
defaultExtension: 'js',
},
rxjs: {
defaultExtension: 'js'
},
'reflect-metadata': {
format: 'global'
}
}
});