gpt4 book ai didi

javascript - 如何展平已发布的 NPM 模块的文件结构

转载 作者:行者123 更新时间:2023-11-29 23:36:20 25 4
gpt4 key购买 nike

我有一个作为 NPM 模块发布的 TypeScript 项目。编译项目的输出在{mymodule}/dist/src/...目录下,也就是说我发布的时候,npm模块也是采用上面的文件结构。

这样做的缺点是当需要单独的模块时,它看起来像这样:

var individualModule = require('/dist/src');

我想展平已发布模块的输出,其中已发布模块中的文件将是 {mymodule}/... 而不是 {mymodule}/dist/src/...

最佳答案

在我看来,正确的做法是通过根文件中的 module.exports(或 import/export)有意地从您的包中公开模块。

const exposableOne = require('/dist/src/ex-1.js');
const exposableTwo = require('/dist/src/ex-2.js');

// ...

module.exports = { mymodule, exposableOne, exposableTwo };

可以看看主Express framework file - 他们使用 exports. 指令做几乎相同的事情。

不完全是 TypeScript 的东西,但这个想法很常见。

更新:

如果您真的需要在不通过require/exports 绑定(bind)的情况下执行此操作,那么您可以使用符号链接(symbolic link)方法。我不确定此选项是否适用于所有平台,但作为示例,您可以查看此 solved issuethis repository在 GitHub 上。后者的 aliases 目录包含符号链接(symbolic link)到 recipes 目录模块的文件。

关于javascript - 如何展平已发布的 NPM 模块的文件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46206254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com