首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将我的angular2 rc应用程序文件排除在systemjs-builder之外。

将我的angular2 rc应用程序文件排除在systemjs-builder之外。
EN

Stack Overflow用户
提问于 2016-05-17 08:51:51
回答 2查看 1.3K关注 0票数 4

我想用angular2依赖项创建一个js文件,但不包括应用程序js文件。

因为在我对ts文件(例如,我的clientList.component.ts)所做的每一次更改中,我都必须重新构建包。

这是我的任务:

代码语言:javascript
复制
gulp.task('bundle:angular', function () {
var builder = new Builder('', './systemjs.config.js');
return builder
    .buildStatic('./wwwroot/ngApp/main.js', './wwwroot/js/libs/angular.bundle.js',
                        { minify: true, sourceMaps: true})
    .then(function (output) {
        console.log('Build complete');
    })
    .catch(function (err) {
        console.log('Build error');
    });
});

这是我的systemjs.config.js

代码语言:javascript
复制
(function (global) {
    var map = {
        'app': './wwwroot/ngApp',
        'rxjs': './wwwroot/js/libs/rxjs',
        '@angular': './wwwroot/js/libs/@angular'
    };
    var packages = {
         'app': { main: 'main.js', defaultExtension: 'js' },
          'rxjs': { defaultExtension: 'js' }
    };

    var packageNames = [
         '@angular/common',
         '@angular/compiler',
         '@angular/core',
         '@angular/http',
         '@angular/platform-browser',
         '@angular/platform-browser-dynamic',
         '@angular/router',
         '@angular/router-deprecated',
         '@angular/testing',
         '@angular/upgrade'
    ];
  packageNames.forEach(function (pkgName) {
     packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
  });

  var config = {
     map: map,
     packages: packages
  }

   if (global.filterSystemConfig) { global.filterSystemConfig(config); }
   System.config(config);

 })(this);

谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-05-17 09:33:00

这样就行了,

代码语言:javascript
复制
gulp.task('bundle:angular', function () {
var builder = new Builder('', './systemjs.config.js');
return builder
    .buildStatic('./wwwroot/ngApp/main.js - @angular', './wwwroot/js/libs/angular.bundle.js',
                        { minify: true, sourceMaps: true})
    .then(function (output) {
        console.log('Build complete');
    })
    .catch(function (err) {
        console.log('Build error');
    });
});
票数 1
EN

Stack Overflow用户

发布于 2016-05-17 09:23:08

您正在对包含所有依赖项的应用程序进行静态绑定(即可以由<script>直接加载的包),因此是棱角分明的。要将您的应用程序从角(或任何其他库)中分离出来,您必须创建一个require所有依赖项的文件来构建供应商包。应用程序包必须是应用程序及其依赖项与供应商包之间的区别。

https://github.com/systemjs/builder#example---common-bundles

但是,如果您想要的是在更改源文件后的周转时间,我建议您看看webpack。它有插件来创建增量包,并且它的webpack开发服务器可以非常快地重建已经改变的内容(在我的设置中大约是2秒)。我不认为您可以获得类似的快速周转时间使用SystemJS。

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

https://stackoverflow.com/questions/37271397

复制
相关文章

相似问题

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