将 Angular 函数迁移到公共库

问题描述 投票:0回答:1

我们的 Angular 项目已经发展到拥有一堆实际上不属于任何类的函数(当然除了所有正常的类之外)。我们现在需要一个新的 Angular 项目来使用其中一些功能。这些都是私人的,永远不会出现在公共仓库中

我创建了一个新项目并正在使用它,但所有导入看起来都像

import { func1 } from "common-library"

即这里没有命名空间的概念。

我如何构建这个,这样我最终会得到类似的东西

import { func1 } from "common-library/functionset1"
import { func1 } from "common-library/functionset2"

课程也是如此。我想避免具有像 Item 这样的通用名称的类将来可能会导致冲突

angular angular-library ng-packagr
1个回答
0
投票

您可以通过辅助入口点来实现这一点。要创建一个,请确保遵循以下文件夹结构:

common-library
├── src
|   ├── public_api.ts
|   └── *.ts
├── ng-package.json
├── package.json
└── functionset1
    ├── src
    |   ├── public_api.ts
    |   └── *.ts
    └── ng-package.json
└── functionset2
    ├── src
    |   ├── public_api.ts
    |   └── *.ts
    └── ng-package.json

ng-package.json
functionset1
里面的
functionset2
文件的内容可以简单为
{}
.

还要确保您的

common-library/src/public_api.ts
文件导出某些内容,即使您没有任何可导出的内容。否则会出现构建错误。例如:

export const commonLibrary = true;
© www.soinside.com 2019 - 2024. All rights reserved.