System.js和Angular 2有一个有趣的问题。
在默认快速入门中,我们有这个系统配置:
System.config({
packages: {
built: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('built/main')
.then(null, console.error.bind(console));
它对我有用。 但现在我尝试从构建的upp移动所有文件。所以main.js文件在index.html的一个级别上。所以现在不能部署系统包。因为你需要一些文件夹名称(所有node_modules都正确地安装在根文件夹中,包含所有angular2内容)。
我尝试使用一些简单的配置:
System.config({
defaultJSExtensions: true
});
System.import('main')
.then(null, console.error.bind(console));
但是有很多这样的错误:
system.src.js:1061 GET http://localhost:3000/angular2/platform/browser.js 404 system.src.js:1061 GET http://localhost:3000/angular2/router.js 404 (未找到)
感谢您的帮助!
答案 0 :(得分:3)
我认为你忘了包含Angular2捆绑文件:
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script -->
因为SystemJS可以找到它们包含的模块,所以它会尝试从.js加载,因为您在其配置中将defaultJSExtensions
属性设置为true
。
答案 1 :(得分:0)
为simillar问题创建了一个最古老的答案 Angular2 systemjs issues
你是对的。我们必须将所有角度js文件保存在某个文件夹中。此文件夹必须与index.html放在同一级别,并将其注册为本地包。这是非常奇怪和有趣的规则,但无论如何。