我正在尝试在 NPM 上发布 typescript 库,但发布后我无法找到“好的”路径。
我在这一点上遵循了几个指南,但我没有找到解决方案。
问题:因此,考虑以下结构:
dist
|- Alls files generated after tsc build
lib
|- All TS files of library (source)
CHANGELOG.md
LICENSE
package.json
README.md
tsconfig.json
发布后,例如在 Angular 应用程序中,我将输入:
import {Component} from '<library name>/dist/Component';
我的问题:如何将项目导入配置为 from '<library name>/Component'
相反 from '<library name>/dist/Component'
好吗?
谢谢
最佳答案
我找到了一个非常干净的解决方案,不需要将 package.json 复制到 dist 或从 dist 发布。
您可以将您的项目构建为:
package.json (for entire project)
src
| secondary-package-name
|- index.ts
secondary-package-name
|- package.json (for secondary-module-name)
dist
|- generated files
您的辅助模块的 package.json 只需要包含
{
"name": "package/secondary-package-name",
"private": true,
"main": "../dist/secondary-package-name/index.js"
}
指向你的dist
然后您应该能够像这样引用二级包的导出:
import { someFn } from "package/secondary-package-name"
前提是从该目录下的index.ts文件中导出
您还需要确保主 package.json 的 files
字段包括:
"files": [
"dist",
"secondary-package-name"
],
关于angular - 如何在导入时没有 "dist"的情况下在 NPM 上发布 TypeScript 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49858168/