angular2库官方文档

时间:2017-05-17 09:06:56

标签: angular typescript

创建angular2库的官方文档怎么样?

我不明白。 为什么我们需要编译来创建库?

我希望只有源代码(一些常用模块)可以在多个项目中重用,而无需编译它。

3 个答案:

答案 0 :(得分:1)

我不确定完全理解你的问题,但据我所知,Angular 2库只不过是一个Angular 2应用程序,你可以使用npm作为模块导入另一个。例如ngx-translate

这些模块必须添加到app.module.ts文件中。

Angular 2也接受非特定的Angular 2模块,您可以在应用中使用它们。例如,如果您想使用MomentJS,则可以执行以下操作:

npm i --save moment

在您的组件或服务或其他任何方面:

import moment = require("moment");

因此,要创建一个库,您可以遵循其中一个方案,任何事情都不应该运行良好。

如果您使用Webpack并希望库全局可用(例如JQuery),您可以在vendor.ts文件中要求它。

答案 1 :(得分:1)

我想我明白你想说的话。 Angular库应该是AOT(提前)兼容,这意味着当另一个项目导入您的库并且他们想要编译他们的项目AOT时,如果您的库(他们导入的)还没有为AOT编译做好准备,它将抛出错误。可重用角度库有很多要求,而不是很多文档。

答案 2 :(得分:1)

您需要做的事情很少。

首先要创建一个单个模块,该模块将从您的库中导出,然后可以导入到另一个应用程序中。该模块可以导入或重新导入库的其他模块。

然后,您需要创建一个包含应用程序类型的声明文件。您可以使用tsc的{​​{1}}选项执行此操作。它甚至可以使用outDir选项编译成一个文件。

最后一件事是你应该告诉webpack并非捆绑@angular/...依赖关系。这可以使用externals属性来完成。阅读更多here