Angular2:Rollupjs包含组件类

时间:2016-11-23 10:26:38

标签: angular gulp rollupjs

按照here的说明支持i18n我必须支持AOT,因此需要在我的组件中使用相对templateUrlstyleUrls并设置moduleId: module.id

这适用于我的开发构建,它不使用systemjs捆绑和加载文件(使用gulp构建)

  1. 编译打字稿:`target:es5,module:commonjs'
  2. 在生产版本中,我使用rollup.js进行树抖动和捆绑。在这里我必须补充步骤,因为汇总需要es2015模块和浏览器(以及在组件中设置module.id)需要common.js

    1. 编译打字稿:target: es5, module: es2015
    2. 与rollup.js捆绑:format: iife
    3. 再次编译打字稿:target: es5, module: commonjs, allowJs: true
    4. 执行此操作我在运行应用时遇到以下错误:无法加载app.component.html

      版本信息:

      • angular:2.2.1
      • typescript:2.0.10
      • 汇总:0.36.3

      有谁知道导致问题的原因是什么? 非常感谢您的帮助

1 个答案:

答案 0 :(得分: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 {}

我希望这对你有用