首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >systemjs-builder -捆绑用于angular2的rxjs

systemjs-builder -捆绑用于angular2的rxjs
EN

Stack Overflow用户
提问于 2017-01-21 03:25:17
回答 1查看 682关注 0票数 1

我有一个Angular2应用程序,在开发环境下它工作得很好。所有Angular2依赖项都是在运行时从node_modules目录加载的。

我使用gulp typescript插件来捆绑应用程序代码,使用system-js来捆绑第三方库代码。

这是捆绑lib文件的gulp任务:

代码语言:javascript
复制
function bundleLibs() {
  var files = [
    'node_modules/rxjs/bundles/Rx.js',
    'node_modules/@angular/core/bundles/core.umd.js',
    'node_modules/@angular/forms/bundles/forms.umd.js',
    'node_modules/@angular/common/bundles/common.umd.js',
    'node_modules/@angular/compiler/bundles/compiler.umd.js',
    'node_modules/@angular/platform-browser/bundles/platform-browser.umd.js',
    'node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
    'node_modules/@angular/upgrade/bundles/upgrade-static.umd.js'
  ];

  var builder = new SystemJSBuilder('dist', {
    map: {
      'rxjs': 'node_modules/rxjs'
    }
  });

  return builder.bundle(files, 'dist/js/lib.js');
}

我希望所有的rxjs库都包含在输出文件中。但是当我运行app时,我会得到404状态

代码语言:javascript
复制
node_modules/rxjs/Subject.js
node_modules/rxjs/Observable.js

(以及所有其他rxjs文件)。

它有助于捆绑每个单独的rxjs文件:

代码语言:javascript
复制
var files = [
'node_modules/@angular/core/bundles/core.umd.js',
'node_modules/rxjs/Subject.js',
'node_modules/rxjs/Observable.js',
...
];

但我认为这不是一个好的解决方案。

所以问题是,我如何从rxjs库中捆绑所有需要的文件?(Angular2需要)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-22 19:20:27

我以下面的解决方案结束。

代码语言:javascript
复制
var builder = new SystemJSBuilder('./', {
      map: {
        'rxjs': 'node_modules/rxjs'
      },
      packages: {
        "rxjs": {main: "Rx.js", defaultExtension: "js"}
      }
    });
    return builder.bundle('rxjs', '.tmp/rxjs.js');

因此,我为angular2和rxjs创建了单独的包,然后将它们合并到一个库中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41770974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档