如何将角度组件打包为不使用CLI创建的包

时间:2018-09-11 06:28:02

标签: angular5

我已经创建了一个不使用angular CLI的angular 5项目,现在我正在使用webpack运行该应用程序,我想将组件作为软件包发布到npm,以便它可以用于任何其他项目。

请指导我适当的文档以打包和发布我的角度组件。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ng-packagr,这会将您的库转换为Angular Package Format。

首先,您需要一个package.json文件。然后,向其添加自定义ngPackage属性,并最终运行ng-packagr -p package.jsonngPackage部分中的路径相对于package.json文件的位置来解析。

{
  "$schema": "./node_modules/ng-packagr/package.schema.json",
  "name": "@my/foo",
  "version": "1.0.0",
  "ngPackage": {
    "lib": {
      "entryFile": "public_api.ts"
    }
  }
}

在上面的示例中,public_api.ts是库源文件的入口文件,必须放置在package.json旁边(同一个文件夹中的同级文件)。

引用$schema可以在VSCode之类的IDE中启用JSON编辑支持(自动完成配置)。

您可以通过npm / yarn脚本轻松运行 ng-packagr

{
  "scripts": {
    "build": "ng-packagr -p package.json"
  }
}

现在,您可以使用以下命令执行构建:

$ yarn build

将构建输出写入dist文件夹,其中包含所有符合Angular Package Format规范的 binaries 。您现在可以继续进行操作,并将Angular库npm publish dist移至npm注册表。