【发布时间】:2016-08-10 16:18:44
【问题描述】:
我有一个 Angular 2 Beta 8(现在无法更新)应用程序,我需要将其打包并缩小以进行生产部署。使用以下配置,我可以生成 SFX 包,但该包的缩小版本不起作用。它继续执行某些操作并溢出选项卡。我有一个组件,它的构造函数中有一个 console.log 。在标签崩溃之前,它会持续运行超过 1000 次。但是未缩小版本的捆绑包按预期运行,这对我来说非常奇怪。
system.config.js
System.config({
defaultJSExtensions: true,
map: {
app: 'wwwroot/app/core',
angular2: 'node_modules/angular2',
rxjs: 'node_modules/rxjs',
dragula: 'wwwroot/lib/dragula/dragula.min',
'ng2-dragula/ng2-dragula': 'wwwroot/lib/dragula/ng2-dragula',
'ng2-cookies/ng2-cookies': 'wwwroot/lib/ng2-cookies/ng2-cookies'
},
packages: {
app: {
defaultExtension: 'js',
main: 'main.js'
},
angular2: {
defaultExtension: 'js'
},
rxjs: {
defaultExtension: 'js'
}
}
});
gulpfile.js
function getBuilder(configPath) {
var builder = new SystemBuilder();
return builder.loadConfig(configPath)
.then(function () {
return builder;
});
}
gulp.task('bundle', function () {
return getBuilder('./system.config.js')
.then(function (builder) {
return builder.buildStatic('app', './bundledapp.js', { minify: true });
});
});
非常感谢任何帮助。
【问题讨论】:
-
看来如果我关闭 mangle 选项
{ mangle: false }那么它工作正常。但是捆绑包的大小并没有减少。
标签: javascript angular bundling-and-minification systemjs es6-module-loader