2016-10-04 48 views
0

有没有一种方法可以在浏览器中加载和启动没有systemjs动态加载器的angular2应用程序?我的意思是我想用<script>标记或jquery $ .loadScript()加载所有js文件,然后在加载所有脚本时启动angular2应用程序。在浏览器中加载没有systemjs动态加载器的angular2应用程序

我正在开发一个应用程序,将被注入另一个应用程序中,我必须一次在浏览器中加载所有js,html,css。由于服务器安全性,不会有动态加载选项。所以我不能使用systemjs动态加载,我必须加载所有html,css,js一次,一旦加载,我需要在浏览器中引导angular2应用程序。

我经历了所有其他链接,他们都提供了如何处理systemjs动态加载,但我需要其他方式。

+1

你看过WebPack吗? – Martin

+0

不,据我的理解,webpack是用于打字稿建筑及其编译打字稿到js文件时所需的。但我需要停止加载js文件的浏览器的动态加载,然后引导angular2进入浏览器。 webpack是否在浏览器中做到这一点? –

+0

编号SystemJS和Webpack应该是互斥的。它们都不能用于编译TypeScript。 Webpack是SystemJS的替代品。有了它,你应该能够将你的模块连接成一个JS对象文件。 – Martin

回答

0

最后,angular-cli选项适用于我。在beta-10之后,他们删除了systemjs动态加载器,并为库(所有依赖如angular,rxjs等)和一个js文件为所有项目代码创建了一个js文件。所以生产版本只会在index.html文件中包含2个js文件链接。没有动态加载和休息调用我的服务器的脚本。

我已经创建了2哟发电机脚手架应用程序,一个用systemjs动态加载和另一个没有systemjs加载的情况下,任何人都有相同的问题可以参考。

没有systemjs(角-CLI):

npm install -g yo 
npm install -g generator-angular2-without-systemjs 
yo generator-angular2-without-systemjs 

随着systemjs动态加载:

npm install -g yo 
npm install -g generator-angular2-with-systemjs 
yo generator-angular2-with-systemjs 

问题巴贝尔::

巴别不支撑打字稿,要使用巴贝尔,我hav e把我的所有打字稿代码移到js,语法也有些不同。我不会忘记打字稿