angular - 如何更改 Angular 10 库构建结构
问题描述
我正在维护一个 Angular 10 Ivy 库,我正在尝试升级它以使用辅助入口点,但我在最终构建的文件夹结构方面遇到了麻烦。
理想情况下,文件夹结构将模拟 @angular 的文件夹结构:
-node_modules
|
-- @angular
|
--core
--common
--cli
--material
...
我可以导入库的片段,例如:import { someModule } from '@angular/core';
我当前的库使用文件夹结构构建
-node_modules
|
--myLibrary
|
--package.json
--dist/myLibrary
|
--package.json
--public_api.ts
--myLibrary.d.ts
--feature1
--feature2
--feature3
...
这迫使我导入诸如import { feature1Module} from 'myLibrary/dist/myLibrary/feature1';
.
myLibrary
我知道我可以通过更新dest
my 中的路径来删除第二个文件夹myLibrary/ng-package.json
,但是我不知道如何删除该dist
文件夹以使所有内容都在同一级别上构建,因为设置"dest": "../.."
将无法构建。
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/myLibrary",
"assets": [
"quill/*.scss"
]
}
任何和所有的帮助表示赞赏。
更新: 项目结构是
-projects
|
--myLibrary
|
--package.json
--ng-package.json
--src
|
--public_api.ts
--commonFunctions
--feature1
|
--package.json
--src
|
--public_api.ts
--index.ts
--feature1.component.ts
--feature1.component.html
--feature1.module.ts
--feature2
--feature3
...
我projects/myLibrary/src/public_api.ts
只导出里面的函数,commonFunctions
每个public_api.ts
特性文件夹中的每个文件只导出各自特性的模块和组件。
解决方案
我有类似的文件夹结构,在我的库中我有输入、按钮...等,这就是你所说的功能。在 ng-package.json 我有如下设置:
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/ngx-pluto",
"lib": {
"entryFile": "src/index.ts",
"cssUrl": "inline"
}
}
在我的功能 table.module.ts 中,我可以导入 NpPaginatorModule 功能,如下所示:
import { NpPaginatorModule } from '../paginator/index';
在我使用 npm 发布我的库后,我可以在我的消费项目中导入我的功能,如下所示:
import { NpButtonModule } from 'ngx-pluto';
这是我的代码链接仅供您参考: https ://github.com/KevinZhang19870314/pluto-ui
推荐阅读
- python - 在 python 中使用 pandas 时如何修复“属性错误”
- javascript - 如何在点击时动态添加到 DOM?
- javascript - Django 应用程序不与 JavaScript 代码块通信
- mysql - Mysql 更新相关表时出现错误 1442
- python - 如何根据另一个表的列填充列?
- java - 如何使用非对称加密在另一个应用程序中解密来自一个应用程序的文本?
- xamarin - Xamarin Forms ListView 取消 ItemSelected 事件
- firebase - Vuejs 和 Firebase 存储问题。未捕获的类型错误:存储不是函数
- php - 将可点击的电话号码添加到 php 邮件
- asp.net-core - 使用 VS2019 和 ASP.NET 核心通过 SSH 附加到进程不起作用