rxjs 与 systemjs 捆绑用于 Angular 2.0 应用程序

Posted

技术标签:

【中文标题】rxjs 与 systemjs 捆绑用于 Angular 2.0 应用程序【英文标题】:rxjs bundle with systemjs for angular 2.0 application 【发布时间】:2017-02-28 22:49:10 【问题描述】:

这简直是在杀死我....我尝试将 rxjs 与 systemjs 和 angular 2.0.0 一起使用

var builder = require("systemjs-builder");
var bundler = new builder('./');

bundler.config(
                    paths: 
                        "n:*": "node_modules/*",
                        "rxjs/*": "node_modules/rxjs/*.js"
                    ,
                    map: 
                        "rxjs": "n:rxjs"
                    ,
                    packages: 
                        "rxjs": main: "Rx.js", defaultExtension: "js"
                    
                );

bundler.bundle('rxjs', configuration.lib.dest() + '/' + lib.dest, options).then(function()
                    console.log('yipee..')
                );

它可以工作并生成一个包含这样行的文件

System.registerDynamic('rxjs/observable/BoundCallbackObservable', ...

我使用脚本标签加载包,并没有向 systemjs 配置添加任何内容,但仍然看到系统试图加载单个文件..

怎么了?

据我了解,registerDynamic 调用应该填充注册表并防止任何延迟加载......

我没有继续捆绑,但接下来将连接所有角度文件并将它们放在头部(从 systemjs 配置中删除所有内容)。这行得通吗?

【问题讨论】:

【参考方案1】:

您不应该捆绑 RxJS,因为它是一个庞大的库。只需导入您需要的。

【讨论】:

以上是关于rxjs 与 systemjs 捆绑用于 Angular 2.0 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Webpack 输出包 Systemjs

使用 gulp-ng-annotate 和 gulp-systemjs-builder

“systemjs-builder”:如何将 js 文件中的所有依赖项构建到一个 bundle.js 文件中

使用 SystemJS/jspm 在生产中加载异步、es5 模块

Node js - http2 的捆绑器

赛普拉斯与SystemJS