2
我试过将所有的TypeScript代码编译成一个单独的Javascript文件。但每当我尝试导入该文件使用SystemJS,网页卡住loading...
你如何在浏览器中使用捆绑的Angular 2应用程序?
我使用gulp将打字稿文件编译成一个单一的Javascript文件,然后复制到dist
文件夹。
咕嘟咕嘟任务:
在网页gulp.task("dist:compileTSConcat", function() {
return gulp.src("./app/**/*.ts")
.pipe(ts({
typescript: require('typescript'), // In my package.json I have "typescript": "1.8.2"
target: 'ES5',
module: 'system',
moduleResolution: 'node',
experimentalDecorators: true,
emitDecoratorMetadata: true,
outFile: 'app.js'
}))
.pipe(gulp.dest("./dist/"))
})
SystemJS导入代码:
...
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.34.4/es6-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.23/system-polyfills.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.7/angular2-polyfills.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.23/system-register-only.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.7/Rx.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.7/angular2.dev.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.7/router.dev.js"></script>
<script>
//System.config({});
System.import('app.js').then(null, console.error.bind(console));
</script>
...
这样做后,我得到一个错误 - “EXCEPTION:选择器”只是一些学习“没有匹配任何元素” – Bryan
这是当你的主要组件有一个选择器,无法在主HTML页。你应该在这个HTML页面中加入<<只是一些学习>加载...只是一些学习>。 –
@Bryan试着把你的选择器标签放在脚本标签上面... – Sasxa