javascript - 为什么要将 dist 存储在 github repo 和 npm 中?

标签 javascript github npm ecmascript-6 package.json

我看到了很多 repo,其中包含 dist 文件夹。为什么?我认为 repo 应该只存储源代码,没有任何构建等等。

让我们看一下带有 ES6 代码的示例。

包.json

{
  "files": [
    "dist",
    "lib"
   ],
  "scripts": {
    "build:lib": "<transform ES6 to ES5 and put it to ./lib folder>",
    "build:umd": "<make a umd module and put it ./dist folder>",
    "build": "npm run build:lib && npm run build:umd",
    "postbuild": "<make minify code>"
    "prepublish": "npm run build"
  }
}

我认为这是一个好方法。我看到了几个做同样的 repo 。在这种情况下,github repo 将只存储 src和 npm repo 仅 libdist .

现在还有一个问题。为什么要存储distlib在 npm 中?大多数库可以通过执行npm install来安装命令。以及我们如何知道 prepublish脚本在本地运行 npm install (npm-scripts)。
所以安装包后我们有libdist文件夹。
如果只有源代码就足够了,我不明白为什么要将此代码存储在 npm 中?

最佳答案

似乎存储库包括 dist目录以使其他项目能够通过 git 将它们用作直接依赖项。比较 package.json docs ,尽管到目前为止,这并没有提到需要存在人工制品。

比较 NPM: Missing dist and src directories when trying to install directly from a github url如果 dist 出现的问题目录未 checkin 。

关于javascript - 为什么要将 dist 存储在 github repo 和 npm 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779809/

相关文章:

npm - 使用Inquirer时 'List'和 'Rawlist'有什么区别

javascript - 在 Chrome 中检测被阻止的弹出窗口

java - 如何使用 org.kohsuke.github 库获取有关给定提交的详细信息

file - Github,文件太大已删除。

javascript - VUE 安装 - 无法解析依赖关系树

npm - TFS npm install 构建任务挂起?

javascript - 如何连接 JavaScript 字符串数组

javascript - Vue 3 组合 API 数据()函数

javascript - Javascript 中的舍入问题

git - 如果我将其他人的私有(private) Github 存储库 fork 到我的帐户中,它是否会作为公共(public)存储库出现在我的帐户中?