magenio/magento2-gulp

新的 Magento2 gulpfile

安装次数: 3,268

依赖者: 0

建议者: 0

安全性: 0

星标: 5

关注者: 2

分支: 1

开放问题: 2

语言:JavaScript

类型:magento2-component

2.0.10 2020-10-11 13:16 UTC

This package is auto-updated.

Last update: 2024-09-22 21:32:10 UTC


README

GitHub release

需求

Generic badge Generic badge Generic badge Generic badge

为什么使用此 gulp 文件

这个新文件是为了满足加快 Magento2 前端开发者工作效率的需求而诞生的。

标准的 gruntfile 处理和编译文件速度慢的情况是众所周知的。

因此,这个文件删除了不必要的脚本,并允许您在配置中设置一个单独的主题,以加快 watch 过程和 less 编译 过程。

此外,还添加了 "superwatch" 模式,允许您在 pub 目录中同步 js、字体、图片和模板文件,而不必每次都运行 exec 命令。

与 grunt 的比较

exec comparison Less comparison

这些统计数字是在 Docker 容器中本地环境下的 Magento 内获得的。根据环境类型,时间可能会有所变化。然而,比较的目的在于展示相同任务可能获得的时间节省。

安装

  1. 更新您的 composer.json 文件
“require-dev”: {
	...
	“antoniocarboni/magento2-gulp”:"2.0.*”
},

 "repositories": [
    { "type": "vcs", "url":  "https://github.com/magenio-it/magento2-gulp" }
    ],
    
  1. 运行 composer update
  2. 安装 node.js
  3. package.gulp.json.sample 重命名为 package.json
  4. 运行 npm install
  5. 使用 npm install -g gulp-cli 全局安装 gulp
  6. dev/gulp-configs.js 中定义您的 gulp 配置,使用文件示例 gulp-configs.sample.js

configs.js 结构

此 gulpfile 的 gulp-configs.js 文件有一些选项

选项

  • debug: 启用详细模式 (true/false)
  • liveReload: 启用 LiveReload 插件 (true/false)
  • browsersync: 启用 Browsersync 插件 (true/false)
  • cache-disable: 缓存默认在开发者模式下禁用

less

  • sourcemap: 在 less 编译期间创建 sourcemap (true/false)
  • singletheme: 如果设置,less 任务将仅监视指定的主题以加快编译速度

watch

supwatch

  • extensionPermitted: 要检查在 pub/static 目录中创建符号链接的特定扩展名
  • folderCustomTheme: 自定义主题所在的目录。目前 superwatch 只能与单个自定义主题同时工作。使用 'app' 表示 app/design/ 中的自定义主题,或 'Vendorname/themename' 表示使用 composer 管理的自定义主题
  • notifyAll: 通知不需要在 pub/static 中创建符号链接的文件更改
  • notifyExt: 为通知添加特定文件扩展名过滤器

exec

  • enableDefaultTask: 如果设置,则任务 deploy 无参数使用默认任务集 (true/false)
  • defaultTask: 如果启用 enableDefaultTask,则运行默认任务
  • staticFolderToClear: 设置在部署源主题之前要清除的 pub/static 主题的完整路径
  • singletheme: 如果设置,则 exec 任务将仅针对指定的主题运行以加快符号链接创建速度

browsersync

有关更多信息及所有配置,请访问 https://browsersync.io/docs

任务列表

  • prepare-dev: 设置开发者模式,清除缓存并禁用特定缓存(选项.cache-disable)
  • default: 运行 less 任务
  • less: 编译 LESS 文件。参数
    • --[nometema]: 仅针对特定主题编译
  • watch: 监视文件更改并运行处理任务
    • --[nometema]: 仅监视特定主题(如果 less 配置 "singletheme" 为 true,则此选项不是必需的)
  • superwatch:减少文件监视,并在pub/static目录上自动创建和删除符号链接,无需运行'exec'命令
  • browser-sync:重新加载浏览器页面
  • exec:清理pub/static并执行dev:source-theme:deploy命令
  • cache-disable:禁用特定缓存
  • cache-clear:清除Magento2缓存
  • developer:将Magento2设置为开发者模式

使用方法

为了在每天的前端工作中获得最大速度,我们建议

  • 使用配置样本文件,通过更改less和exec配置中的值来使用您的主题名称(选项:singleTheme,defaultTask,staticFolderToClear)
  • 第一次使用时,使用prepare-dev来清理缓存并设置开发者模式,然后使用gulp exec来清理pub/static并创建符号链接
  • 使用gulp superwatch并享受 :)

常见问题

  1. 当使用superwatch并添加或删除less文件时,gulp将不再看到该文件的变化,直到重启superwatch任务。
  2. 将gulp及其所有依赖迁移到gulp 4.0