当我在 Typescript 中编写 node_module 并发布它时,我只能发布转译(混淆代码)也就是 /dist
文件夹。但我也可以发布原始代码(又名 /src
或 /lib
文件夹)。
- 如果我只发布经过混淆的代码 - 库会变得更薄,它更像是一个
黑匣子
。 - 如果我发布经过混淆处理的原始代码 - 它更大并且可以推理此代码(调试、研究、理解它、查看评论等)。
会有什么比较经典的做法呢?我见过一些带有原始代码和没有原始代码的模块。
有相关标准吗?带有原始 Typescript 代码的 node_module 是否更少生产就绪
?
谢谢
最佳答案
您不应将预编译代码包含到模块中,因为它没有任何好处。
- 如果有人想使用你的产品,他们想要它的小型/快速版本,而不是源代码,他们必须自己编译
- 如果他们想和你一起工作,他们会去 git 存储库,在那里他们可以看到原始来源
我建议您将这些选项添加到您的 tsconfig
文件中:
{
"compilerOptions": {
"outDir": "./dist", /* Redirect output structure to the directory. */
"declaration": true, /* Generates corresponding '.d.ts' file. */
}
}
outDir
设置将指定所有生成的源代码将在根目录的特定文件夹中编译。这样,您生成的代码可以仅位于一个位置。
declaration
设置将生成所谓的“源映射”文件。有了它,您可以发布编译后的代码,但仍然为 typescript 用户提供类型。
在您的 Git Repo 中,我只会保留原始源文件并将生成的源文件夹添加到您的 .gitignore
。在这种情况下,将 dist
文件夹添加到忽略文件。
关于javascript - 在已发布的 node_module 库中存储或不存储原始 Typescript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58375857/