git - 如何在生产服务器上部署 gulp

标签 git gulp

当建立一个网站时(为了清楚起见,一个纯 HTML/JS 的网站)我使用 gulp 来编译和连接一些文件,然后将这些文件放在 build/ 文件夹中。

文件夹结构如下所示:

├── assets
│   ├── images
│   ├── javascripts
│   │   └── app.js
│   └── stylesheets
│       └── style.scss
├── bower.json
├── build
│   ├── bower_components
│   ├── images
│   ├── index.html
│   ├── scripts.min.js
│   └── styles.min.css
├── gulpfile.js
├── index.html
├── node_modules
│   ├── gulp-module-1
│   └── gulp-module-2
├── package.json
└── README

如果我将所有这些文件包含在一个 git 存储库中,我的所有更改都将提交两次。也就是说:assets/stylesheets/style.scss 的变化也会导致 build/styles.min.css 的变化。但是,如果我决定从存储库中排除 build/ 文件夹,您将需要在生产服务器上使用某些开发工具(即 gulp、npm 等)。当权限有限时,这有时会很困难在生产服务器上。显然排除 assets/ 文件夹不是一个选项,因为您将丢失编译文件的源代码。

因此我的问题是:在生产服务器上部署它的最佳实践是什么?您是否在 repo 中包含 build/ 文件夹,是否在生产服务器上编译 build/ 文件夹,或者是否有第三种解决方案?

最佳答案

虽然不是每个人都同意这个问题的最佳解决方案,但我认为您错过了第三种解决方案,而我通常更喜欢这种解决方案。您可以在开发机器上构建所有文件,然后将构建的文件部署到生产服务器。这通常只是复制操作。

这样你就不需要在你的服务器上安装任何开发工具,你的版本控制系统中也不会有构建输出。

关于git - 如何在生产服务器上部署 gulp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097479/

相关文章:

Git 流程初始提交

javascript - Gulp 构建全栈应用程序的输出/路径/结构策略

angularjs - 构建 AngularJS 模板时 gulp 注释错误

node.js - 具有直通功能的重复 Gulp 乙烯基流 - `TypeError: Invalid non-string/buffer chunk`

python - 通过requirements.txt正确安装依赖项或如何正确安装已编辑的依赖项

linux - Maven - 无法在 shell 脚本中创建资源输出目录

git - 分支是什么时候从 master 上 fork 出来的?

javascript - grunt 和 gulp 混淆 - 在另一个有 gulp 的项目中运行 gulp

javascript - 当源文件夹中有多个jade文件时,gulp-jade仅构建一个HTML文件

git - 重新同步已编辑的 Flutter 源文件