【问题标题】:Gulp I need /dist to have node_modules and .gitGulp 我需要 /dist 来拥有 node_modules 和 .git
【发布时间】:2020-05-11 14:23:24
【问题描述】:

我有这样的文件夹结构

  • 分布
    • 公开
      • index.html
      • main.js
    • 服务器
      • server.js
  • package.json
  • 过程文件
  • .env
  • .gitignore
  • .git
  • gulpfile.js
  • node_modules

我需要上传 /dist 到 Heroku,它需要 git。而且我在项目中也需要node_modules。顶部的 package.json 包括 express 和 socket.io 依赖以及 gulp 作为 devDependencies。我应该将整个内容上传到 git 和 heroku 还是只在 package.json 顶部和 /src 中安装 devDependencies 创建另一个 package.json 和 node_modules 和 git 并将其移动到 /dist。我希望 /dist 能够自给自足。但是怎么做呢?

【问题讨论】:

    标签: node.js gulp


    【解决方案1】:

    希望这个解释对你有所帮助:

    如果您有一个 npm 脚本将项目构建到 dist 文件夹,然后 npm 脚本 start 从该文件夹运行您的应用程序,那么 /dist 文件夹将是自给自足的。

    另外,node_modules 和 dist 文件夹 shouldn't 可以转到任何存储库,因为它们是从 npm 脚本中获得的(依次是 npm install 和 npm run build)。

    此外,如他们的文档中所述,package.json 的“依赖项”部分必须包含构建应用程序所需的所有包

    为什么会这样?

    “运行安装后,build stepsHeroku 将在部署应用程序之前删除在 devDependencies 下声明的包。” - Heroku 团队

    如果您有任何其他问题,请在此处回复...

    【讨论】:

    • 不客气。是的,Heroku 将在上传时运行一次 gulp,但是您应该将 node_modules 和 dist 放在 .gitignore 中以使它们不受 git 控制,如果您已经提交了它们,则应该对每个文件夹运行此命令以将它们从 git 中删除更新 .gitignore 后: git rm --cached 。是的,另一个 nodejs 托管服务很可能会这样做,它们可能只是在缓存 node_modules 依赖项的方式上有所不同(Heroku 基于 package.json 的更改来做到这一点)。是的,src 会占用存储空间,在 git 树中,节点模块会占用
    • Continuing... 节点结节只占用存储空间,但会被缓存,dist 也只会占用存储空间,但不会被缓存。最后一个,是的,可能工作得很好,我曾经有一个使用 Gulp 和 Browser-sync 的 AngularJs 应用程序,它运行得很好,没有问题(:
    猜你喜欢
    • 2020-02-24
    • 2021-06-21
    • 2015-04-16
    • 2022-09-30
    • 2018-05-20
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多