我已经创建了一个不使用angular CLI的angular 5项目,现在我正在使用webpack运行该应用程序,我想将组件作为软件包发布到npm,以便它可以用于任何其他项目。
请指导我适当的文档以打包和发布我的角度组件。
谢谢。
答案 0 :(得分:0)
您可以使用ng-packagr,这会将您的库转换为Angular Package Format。
首先,您需要一个package.json
文件。然后,向其添加自定义ngPackage
属性,并最终运行ng-packagr -p package.json
。
ngPackage
部分中的路径相对于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注册表。