我用typescript 2编写了我的typescript 2应用程序,使用了angular.io上的提前编译说明。
main.ts
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);现在我有很多ngfactory.ts文件和.js文件。要实现树抖动和绑定,我将使用以下简单的systemjs-builder任务:
gulp.task('demo-bundle', function() {
var builder = new SystemBuilder();
builder.loadConfig('./systemjs.config.js')
.then(function(){
return builder.buildStatic('dev/main.js', 'dist/bundle.js', {
encodeNames:false,
mangle: false,
rollup: true
});
})
});捆绑完成时没有出现错误,但应用程序在浏览器中失败时出现了错误:
错误:没有NgZone的提供者!
如果我从提前编译改为按时间编译,通过以下引导操作:
platformBrowserDynamic().bootstrapModule(AppModule);然后,捆绑和应用程序按预期工作。
对于如何正确地将AoT编译与buildStatic捆绑起来,有什么想法吗?(在tsconfig中,module是es2015,但我也尝试过system和commonjs)
@angular/compiler-cli 0.6.3,systemjs-builder 0.15.31,systemjs 0.19.39
发布于 2016-10-21 21:15:22
我花了很长时间来跟踪这个问题--为角模块加载umd包会导致这个错误。改为在其文件夹中加载index.js文件。
https://stackoverflow.com/questions/39941680
复制相似问题