npm install -g gupack
// 查看命令及参数
gupack -h
new <projectName> 创建项目;
--auto-install: 新建项目后自动安装npm相关依赖模块
-T --template: 选择项目模板
task <taskName>(可选) 编译指定任务;
build 编译项目;
-e, --env <env> 指定编译环境,(local:本地; dev:开发; stg:测试; prd:生产)
-d, --dest <destPath> 指定编译输出目录
-t <taskName> 指定编译任务(gupack build -t js+css -e dev)
-c --clear-dest 编译前清空编译路径下的所有文件
-s, --server 是否启动内置静态服务器(热更新)
start 启动内置Node静态服务器; -o, --open-browser 启动内置 静态服务器是否打开默认浏览器
backup 备份项目;
rollback 回滚项目(依赖于备份列表);
clean 清空编译路径下的所有文件;
alias <name> 为gupack设置一个全局命令别名;
versions 查看相关版本;
new【新建项目】
// 新建项目将提示选择对应的模板
gupack new <projectName>
// 指定项目模板(gupack listTemplate 查看项目模板)
gupack new mall --template <templateName>
// 项目编译主要已gulp为基础
build【编译项目】对项目进行编译
gupack build -e <envName>
//编译项目可带命令参数,请查看[命令参数]
task【编译指定任务】
gupack task <taskName>
//未指定,将显示任务列表提示选择
start【启动项目】运行 gupack 自带的静态文件服务器,便于本地调式项目(包括浏览器实时更新功能)
gupack start
//编译项目可带命令参数,请查看[命令参数]
env
:String, 当前编译环境(本地(默认):local
; 开发:dev
; 测试:stg
; 生产:prd
)sourceDir
:String, 源文件路径, 默认为项目下的 srcbuildDir
:String, 编译产出路径,可以是绝对或者相对路径,默认项目下的 distport
:Number, 本地开发 Node 调式服务器端口liveDelay
:Number, 浏览器实时更新延迟时间buildTasks
:Object, 项目编译任务列表 请查看单个任务相关配置statics
: Object, 发布部署 CDN 相关配置proxy
: Object | String, 代理, Optionsdeploy
: Array, 发布部署服务器相关配置(支持多节点上传)startClean
: Boolean, 编译项目前是否清空编译目录indexFile
: String, 启动内置 Node 静态服务器,默认打开的首页,相对于 buildDir 路径watch
: String | Array | Boolean, 监听文件变化列表,false
将禁止监听
src
:String or Array, 当前任务编译源码(支持 glob)dest
:String, 当前任务源码编译后目录filter
:Array, 过滤列表(支持 glob)watch
:Array, 监听列表(支持 glob) 默认监听 src 配置nowatch
:Boolean, 是否监听文件按变化触发任务执行rely
:Array, 当前任务所依赖的任务列表loader
: Object, 任务流(gulp 插件)相关配置run
: Boolean, 是否执行当前任务before
: Function, 任务执行前after
: Function, 任务执行后
-
testExt
:regexp, 需要匹配替换的文件后缀(exp:/^\.(html|tpl|jade|md|css|scss|less|styl|vue|jsx)[^\.]\*$/i
) -
hostname
:String, 主机 -
nodes
:Array, 分散节点,例如需要对图片、视频或者 js 和 css 做不同的 CDN 配置,包含独立的匹配模式exp: { extname: /^\.(png|jpg|jpeg|gif|svg|bmp|ico|webpng)[^\.]*$/i, pathname: 'pic', hostname: 'http://image.cdn.com' },
host
:String, 服务器主机port
:Number, 服务器端口(暂不支持 ftp),默认:22
user
:String, 用户名pass
:String, 密码timeout
:Number, 发布上传超市时间,默认:50000
localPath
: String, 上传的本地目录,默认:项目编译后的目录(支持 glob)remotePath
: String, 远程服务器目录filters
: Array, 发布上传中需要过滤的文件(支持 glob)type
:String, 部署方式("full"全量;"increment"增量),默认:increment
isRollback
:Boolean, 执行 rollback 命令时,当前节点是否执行回滚(可设置某节点不回滚)默认保存回滚onUploadedComplete
: Function, 发布完成事件回调onUploadedFileSuccess
: Function, 文件发布成功事件回调onUploadedFileError
: Function, 文件发布失败事件回调backup
: Object | Array | String, 发布之前进行备份 Options gupack-config.js
outPath
:String, 备份输出路径mode
:String, 备份模式,local
: 备份到本地;remote
: 备份到当前 deploy 节点服务器上,默认:locallog
:String, 打印方式,all
: 打印详细信息;progress
: 简单的进度条。不配置将沿用当前 deploy.log,如 deploy.log 未配置,默认progress
filters
: Array, 备份中需要过滤的文件或者目录
更多认证参数请参考 ssh2
gupack-config.js 文件配置实例
#License MIT License