我可以使用@ ngtools / webpack发出打字/声明(.d.ts)和装饰元数据(.metadata.json)文件吗?

时间:2017-09-20 18:59:28

标签: angular webpack angular-cli angular2-aot

我正在开发一个Angular库,我正在与AOT编译兼容。我已经使用ngc周围的一些gulp任务完成并运行了,但我更喜欢使用@ngtools/webpack,因为它允许我使用SASS和PUG为我提供更简单的方法样式和模板。但是,我找不到从其虚拟文件系统中获取声明或元数据文件的方法。有没有办法发出这些文件?

1 个答案:

答案 0 :(得分:0)

对于declarations,您必须更改const lambda =>出口功能。

那是

const declarations = () => [
  Component
];

export function declarations() {
  return [
    Components
  ];
}

然后用tsc替换package.json中的脚本部分中的ngc

现在来自(this comment on github

  

所有引用的库必须包含.metadata.json文件以及它们生成的任何.d.ts文件,否则它们将无法与ngc一起正常工作。 .metadata.json文件包含我们需要的信息,该文件位于原始.ts文件中,但未包含在.d.ts文件中。如果我们没有这些信息,我们就无法为图书馆生成工厂。

  • 因此,请确保_ .metadata.json 文件位于其关联的*.d.ts文件旁边。

  • 由于您使用的是webpack,因此必须首先使用ngc,然后使用webpack编译代码。

源头
1. Making your Angular 2 library statically analyzable for AoT
2. Getting your Angular 2 library ready for AoT

相关问题