【问题标题】:Typescript - How to make package users import dist folder as the package name?Typescript - 如何让包用户导入 dist 文件夹作为包名?
【发布时间】:2020-02-23 11:09:09
【问题描述】:

我正在尝试使用 typescript 编写一个包,这个包包含一些应该由用户导入和使用的声明。问题是我有一个src 和一个从src 生成的dist 文件夹。当我发布包时,我不能将它作为@scope/package-name 导入,而是应该从@scope/package-name/dist 导入定义。如何使用包名从 dist 文件夹导入? @scope/package-name

【问题讨论】:

  • 你解决了吗?我也有同样的问题。
  • 您可以尝试拥有一个名为something.d.ts 文件并写入export * from './dist/somthing'
  • 你会把这样的d.ts文件放在哪里?
  • src旁边的根文件夹中

标签: javascript angular typescript package


【解决方案1】:

您应该指向 package.json 文件中的 dist 文件夹。

Main

主字段是一个模块 ID,它是程序的主要入口点。也就是说,如果您的包名为 foo,并且用户安装了它,然后执行import * from "foo",那么您的主模块的导出对象将被返回。

这应该是一个相对于你的包文件夹根目录的模块。

对于大多数模块来说,拥有一个主脚本是最有意义的,而其他的通常不多。

如果未设置 main,则默认为包根文件夹中的 index.js。

在您的情况下,将其包含在您的 package.json 中:

"main": "dist/index.js",

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 2020-02-21
    • 2021-09-30
    • 2021-07-09
    • 2017-02-05
    • 2019-03-01
    • 2017-12-14
    • 2020-08-23
    • 1970-01-01
    相关资源
    最近更新 更多