在 npm 上发布 typescript 库:导出的符号、模块

2023-12-26

我正在编写一个打字稿库,打算在其上发布npm。它是为了运行node仅,永远不会在浏览器中。仅从打字稿使用该库才有意义(我不期望任何 Javascript 用户)。

我很难找到如何在 npm 上发布 typescript-for-typescript 库的指南(而且,这些事情似乎在 typescript 世界中正在迅速变化)。

我应该将所有代码包装在一个module? (我觉得库本身不需要模块,目前只有大约 1000 个 LOC)。我应该创建一个index.ts文件?我想我应该发货.js, .js.map and .d.ts文件但没有.tsnpm 包的文件?

如何在库中的文件之间调用函数而不将它们导出给库的用户? 我目前不使用打字稿模块。我尝试使用typedoc它还列出了我从各个文件导出的符号,以便在库的另一个文件中使用。但我不希望图书馆的用户看到这些。

有一个图书馆可以用作示例吗?我在看打字稿集合 https://github.com/basarat/typescript-collections,他们不使用任何module并有一个index.ts。我认为他们导出了所有共享功能,因此这对我解决这个问题没有帮助。


我所做的是index.ts导出所有文件。

like

export { default as Actions } from './Actions'

然后,在你的 package.json 中, 添加属性"typings": "dist/index.d.ts"(相应地更改位置)

是的,导出定义和源映射。其他人可以使用source-map-support包以便稍后轻松调试。

我更喜欢将它们预先构建到.js发布时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 npm 上发布 typescript 库:导出的符号、模块 的相关文章

随机推荐

  • Angularjs 列表项边距问题将 ng-repeat 元素与静态元素相结合

    我想通过将存储在数组中的一些元素与一些将直接插入 html 中的静态元素分组来创建一个水平列表 像这样的事情 div class list container push down ul li Home li li i label li li
  • “datetime.time”没有“mktime”

    我正在尝试将日期时间对象转换为 UNIX 时间戳 最好以毫秒为单位 尽管我不介意有或没有 Mktime 似乎是通常获取它的方法 但是我不断收到错误 AttributeError 类型对象 datetime time 没有属性 mktime
  • pyqt从线程发出信号

    我正在尝试从多个线程更新 pyqt QProgressBar 据我了解 执行此操作的最佳方法是将信号发送回主 GUI 线程 我尝试将 QProgressBar 对象传递给工作线程 尽管它看起来确实如此 工作时我在口译员中收到了大量警告 在下
  • 在 Tensorflow 中将张量转换为 numpy 数组?

    使用带有 Python 绑定的 Tensorflow 时如何将张量转换为 numpy 数组 TensorFlow 2 x 热切执行 https www tensorflow org guide eager默认情况下是启用的 所以只需调用 n
  • 用于自定义 URL 的自定义 Pinterest 按钮(文本链接、图像或两者)

    我试图找到解决方案 但找不到 我需要 Pinterest 固定 按钮的自定义图像 并通过 url 固定一些自定义图像 但不是当前页面 我创建了一个自定义链接 a href class pinitbutton Pin It a 在样式中我设置
  • Liburl 未更新

    我使用的是 Ubuntu 14 04 需要curl 版本 gt 7 40 因此我按照一些步骤安装了最新的curl 版本 7 48 As root wget http curl haxx se download curl 7 48 0 tar
  • 调整窗口大小事件

    我正在创建一个简单的操作系统应用程序 但我无法在任何地方找到如何进行调整大小事件 假设我想打印新的宽度和高度并且我有这个控制器 class ViewController NSViewController override func view
  • gmock 可以用于存根 C 函数吗?

    我是 gmock 的新手 所以我想知道如何对在测试中的函数中调用的简单 C 函数进行存根以进行单元测试 Example int func int a boolean find Some code find func 1 return fin
  • 为什么我的应用程序因“多任务应用程序只能使用后台”而被拒绝?

    我通过设置闹钟并观看视频在后台测试了我的应用程序 当我观看视频时 我的闹钟正确响起 即使我从后台删除我的应用程序 警报仍然响起 现在我想知道我是否正确理解了苹果的回复 任何人都可以解码回复吗 我们发现您的应用程序使用后台模式但不包括 需要该
  • 将属性文件包含在 Jar 文件中

    我写了一个小应用程序 我已将数据库特定信息放入属性文件中 db url jdbc mysql localhost 3306 librarydb db user root db passwd pas w0rd 当我构建应用程序以获取可执行 j
  • Powershell:冻结 GUI

    只是快一点 我创建的一个简单工具有一个问题 该工具通过一个小框获取一段时间内的 CPU 使用情况 该小框似乎显示正在使用的 CPU 百分比 我已经删除了下面代码的 GUI function loop get read host for st
  • 在opencv c++上检测运动(移动相机)

    我正在为大学做一个项目 并且正在使用 OpenCV 这真的很棒 现在我的问题是 我有一个视频 avi 并且已检测到我想了解的有关突然出现在红色和黄色之间的 RGB 范围内的斑点的所有信息 在我实现了一个保存有关像素值的所有信息的矩阵之后 最
  • SIMD:位包有符号整数

    可以使用 位打包 技术来压缩无符号整数 在无符号整数块中 仅存储有效位 从而当块中的所有整数都 小 时进行数据压缩 该方法被称为FOR https www elastic co blog frame of reference and roa
  • 无符号短和有符号短比较奇怪的行为

    当我将相同的值分配给有符号和无符号时short并进行比较 它失败了 但它可以与int 除非我将其中之一强制转换为相同类型 否则比较不起作用 include
  • 将函数作为参数传递

    我编写了函数 A 它将调用许多其他函数之一 为了节省重写函数 A 我想将要调用的函数作为函数 A 的参数传递 例如 function A Param functionToCall Write Host I m calling functio
  • android.graphics.Canvas 中使用的算法

    我想找出什么绘图算法android graphics Canvas http developer android com reference android graphics Canvas html正在使用 特别是对于drawLine an
  • 如何使用java将UTF16(表情符号)转换为HTML实体(十六进制)

    How to convert UTF16 emoji to HTML Entity hex using java I have the string from DB like this uD83D uDE02 I try to displa
  • Julia:相异矩阵计算的高效并行化

    Julia 语言通过 pmat 和 parallel 等方法支持并行化 我正在尝试计算一组数据的相异矩阵 n length dataset mat zeros n n for i 1 n for j i 1 n mat i j mat j
  • Flutter:如何在包含其他类型小部件的 ListView.builder 末尾添加按钮小部件?

    我正在尝试构建小部件的水平滑块 ListView 并想在 ListView 的末尾添加一个按钮 以便您可以添加另一张卡 到目前为止 如果我尝试通过从中提取以生成 ListView builder 的小部件列表来添加它 它不允许我 因为该小部
  • 在 npm 上发布 typescript 库:导出的符号、模块

    我正在编写一个打字稿库 打算在其上发布npm 它是为了运行node仅 永远不会在浏览器中 仅从打字稿使用该库才有意义 我不期望任何 Javascript 用户 我很难找到如何在 npm 上发布 typescript for typescri