[关闭]
@wwanghee 2017-08-29T00:36:17.000000Z 字数 1456 阅读 867

【腾讯项目】Gulp插件系列—SVN对比检查插件


一、插件名称

gulp-file-compare

二、插件原理

防夹带插件原理图 (1).png-59.8kB

三、使用方法

1、准备工作(若已完成,则忽略)

安装最新版的venus客户端:

sudo tnpm install -g @tencent/venus

安装最新的node模块,在server/node_modules/gxh下最新的package.json,并执行:

tnpm install

2、在对应项目的gulpfile.js中引用node模块

  1. var args = require('yargs').argv;
  2. var fileCompare = require('@tencent/gulp-file-compare');
  3. var StatsPlugin = require('stats-webpack-plugin');

3、在gulpfile.js中的修改webpack任务

  1. gulp.task('webpack', ['cssUrlToAbsolute'], function () {
  2. var webpackConfig = require(currentPath + '/webpack.config.js');
  3. webpackConfig.plugins = webpackConfig.plugins || [];
  4. webpackConfig.plugins.push(new StatsPlugin('../../../module_dev/' + type + '/profile.json'));
  5. console.log('webpack task start');
  6. return gulp.src(currentPath + '/js/*.js')
  7. .pipe(webpack(webpackConfig))
  8. .pipe(gulp.dest(destPath + '/js'));
  9. });

4、在gulpfile.js中添加fileCompare任务

  1. gulp.task('fileCompare', ['inline'], function () {
  2. console.log('fileCompare task start');
  3. return gulp.src('')
  4. .pipe(fileCompare({
  5. committer: args.user || 'felithuang',
  6. entryPath: currentPath,
  7. force: args.force || 0
  8. }
  9. ))
  10. });

这里fileCompare有三个参数,不用修改,直接复制即可。

将fileCompare任务插入到inline任务和compress任务中间

image_1b663t6grtf37cbik6vr5kfvl.png-199.2kB

5、参考DEMO

gulpfile.js3.2kB

6、接入此插件后,需要有用户信息,故发布命令修改为:

venus -t tswBubbleNext -u wonderhwang(填自己的RTX名)

1)-u 表示 --user,用户名
2)如果有需要,可以做成配置的形式,形如venus.conf这种,将用户信息配置进去

7、不符合发布要求(既有夹带)会有提示报错

image_1b66445ve1h09r1utav1kbnado1e.png-110.9kB

若确认此夹带可以夹带,则执行编译命令时,添加「-F」,强制执行参数。例如:

venus -t tswEmoji -e pre -F

执行此命令可以不带-u参数,即

venus -t tswEmoji -e pre -F

venus -t tswEmoji -e pre -u wonderhwang(填自己的RTX名) -F

是相同的。

四、文档变更

[2017-01-10]
1、解决服务端编译的兼容性问题

[2017-01-11]
1、解决本地编译的兼容性问题

[2017-03-14]
1、增加防夹带插件原理

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注