angular - 如何在 bitbucket 中发布角度库
问题描述
我通过运行创建了一个 Angular 库:
ng new my-library-lib
cd my-library-lib
ng generate library my-library
这将创建一个 Angular 应用程序,并在其中创建一个名为“projects”的文件夹,其中包含库代码:
申请代码:
- projects
-- my-library
--- src
---- lib
----- <code of the library (components, services)>
---- public_api.ts
--- <config files (ng-package.json, package.json, ...)>
- src
-- <code of the container application>
所以有了这个结构,我不知道如何在 Bitbucket 中发布库以供其他应用程序以这种方式使用:
包.json:
"my-library": "git+https://bitbucket/.../.../my-library.git#v0.0.1"
我按照教程创建了库,并且可以在容器应用程序中使用它。我还通过安装创建的 .tgz 设法在其他应用程序中使用它:
"build_lib": "ng build my-library",
"npm_pack_lib": "cd dist/my-library && npm pack",
"package_lib": "npm run build_lib && npm run npm_pack_lib"
最后一步是发布它并标记它以供使用。
解决方案
发布一个 lib 有很多事情需要处理,幸运的是,有一个工具 ng-packagr 让我们的生活变得非常轻松,ng-packagr 是一个节点库,可以编译和打包一个 TypeScript 库到 Angular包格式。
https://www.npmjs.com/package/ng-packagr
推荐阅读
- netlogo - 在将项目添加到列表之前更新使用孵化定义的项目的值
- python - 如何在 jinja 中同时循环遍历 2 个元素?
- javascript - 为什么这个 React 方法没有按预期工作?
- svg - 如何选择某个类的随机元素 | 绿袜 - GSAP
- java - 处理大量 POJO 的最佳方法
- ios - 如果对主纹理进行了 mipmap,是否需要对 multisample 纹理进行 mipmap?
- c++ - 尝试在 VS 中编写 C 代码,由于 C++ 错误而无法构建
- ios - iOS 应用程序在 iOS 12 或 13 中不占用整个屏幕
- javascript - 如何将javascript文件链接到id
- spring - java.lang.IllegalArgumentException:尝试使用空实体创建事件