2016-11-23 39 views
3

为了支持I18N所解释here我要支持AOT,因此需要在我的部件相对于templateUrlstyleUrls和使用和设置moduleId: module.idAngular2:Rollupjs相对路径在捆绑组件类

这工作适合我的开发建设不捆绑,并加载使用systemjs(内置采用一整套)

  1. 编译打字稿文件:`目标:ES5,模块:CommonJS的

在生产版本中,我使用rollup.js进行树形结构和捆绑。在这里,我有自汇总需要ES2015模块和浏览器compliation步骤(以及已经在部件module.id设置)需要common.js

  1. 编译打字稿:target: es5, module: es2015
  2. 束与rollup.js:format: iife
  3. 编译再次打字稿:target: es5, module: commonjs, allowJs: true

这样做,我在运行应用程序时出现以下错误:加载失败app.component.html

版本信息:

  • 角:2.2.1
  • 打字稿:2.0.10
  • 汇总:0.36.3

有没有人有一个想法是什么原因造成的问题? 非常感谢您的帮助

+0

我已在完全同样的问题,你有没有发现如何解决呢? – DicBrus

+0

@DicBrus不幸的是,我推迟了这个话题。但是不久之后,我将不得不寻找解决方案。我也在考虑转向Angular CLI/Webpack,因为我希望不会遇到像我一样多的问题,因为我使用gulp/system.js – tschuege

+0

如果我正确理解这是SystemJS Builder的问题 https:// github .com/systemjs/builder/issues/737 – DicBrus

回答

0

当您使用module.id时,您必须在模块组件上声明一个变量。那就是:

declare var module: any; 
import { Component } from '@angular/core'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app', 
    templateUrl: 'content.component.html' 
}) 
export class ContentComponent {} 

我希望这对你的作品

+1

不幸的是,这没有帮助。还是一样的错误。 – tschuege