@we-debug/gulp-tool
TypeScript icon, indicating that this package has built-in type declarations

0.31.6 • Public • Published

@we-debug/gulp-tool

we-debug 全局组件注入插件。

简介

we-debug 组件需要在每个小程序页面引入,对于一些大型的小程序,动辄上百个页面,手工植入是令人崩溃的。

对此,我们提供了一个 gulp 插件来帮助你完成这些事情:

  • app.json 中声明全局组件
  • 解析所有的小程序页面,并在每个页面 wxml 文件中追加组件 wxml 代码
  • app.js 注入 we-debug 初始化文件调用代码

安装

npm install @we-debug/gulp-tool gulp-mp-npm -D

由于 we-debug 组件为 NPM 组件包,这里需要搭配 gulp-mp-npm 插件。

使用

const gulp = require('gulp')
const weDebug = require('@we-debug/gulp-tool')
const mpNpm = require('gulp-mp-npm')

gulp
  .src('dist/**/*.*')
  .pipe(
    weDebug({
      baseDir: 'dist'
    })
  )
  .pipe(npm())
  .pipe(gulp.dest('dist'))

配置项

参数 说明 类型 默认值 版本
baseDir 项目源码位置 string src -
wxml we-debug wxml 模板 string <we-debug /> -
filter 页面过滤参数,可以是正则、字符串、函数或这三者组成的数组 reg string func array '' -
compName we-debug 全局组件名 string we-debug -
compPath we-debug 全局组件位置,可填绝对路径/相对baseDir的路径 string @we-debug/core/component/index/index -
entryFile we-debug 初始化文件位置,可填绝对路径/相对baseDir的路径 string ./we-debug/index.js -
plugins 插件配置 array<{ package: string, options: object }> `` -

插件

@we-debug/gulp-tool 作为 we-debug 的一个编译增强型工具,可以帮助开发者在开发调试阶段提升效率,如果开发者希望在编译阶段做更多定制化操作,比如在 wxml 插入片段,给 json 新增字段等等,就需要用到插件能力了。

想要使用一个插件,你只需要 require() 它,然后把它添加到 plugins 数组中。多数插件可以通过选项(options)自定义。

gulpfile.js

const gulp = require('gulp')
const weDebug = require('@we-debug/gulp-tool')
const wedebugGulpXXX = require('wedebug-gulp-xxx')

gulp
  .src('dist/**/*.*')
  .pipe(
    weDebug({
      baseDir: 'dist',
      // 配置 we-debug gulp 第三方插件
      plugins: [
        {
          package: wedebugGulpXXX,
          options: { // 插件配置项,由第三方插件自由定义
            // xxx
          }
        }
      ]
    })
  )

开发插件

we-debug gulp 插件需要暴露一个函数,并且在函数中进行插件注册

interface IMeta {
  baseDir: string;
  entryFile?: string;
}

interface ITool {
  meta: IMeta;
  register: (options: IRegistration) => void
}

interface PluginOption {
  [props: string]: any
}

interface IRegistration {
  // 插件名称
  pluginName: string;
  // tool 初始化前执行
  beforeInit?: () => void;
  // tool 初始化时执行
  onInit?: () => void;
  // 检测到项目 wxml 文件后立即执行
  wxml?: ProcessDefine;
  // 插入 we-debug 片段之前执行
  beforeInsertWxml?: ProcessDefine;
  // 插入 we-debug 片段前执行
  afterInsertWxml?: ProcessDefine;
  // 检测到项目 json 文件后立即执行
  json?: ProcessDefine;
  // 检测到项目 js 文件后立即执行
  script?: ProcessDefine;
  // app.js 插入 we-debug import 片段前执行
  beforeInsertScript?: ProcessDefine;
  // app.js 插入 we-debug import 片段后执行
  afterInsertScript?: ProcessDefine;
}

export default function (tool: ITool, options: PluginOption = {}): void {
  // 注册插件
  tool.register({
    // ...
  })
}

Readme

Keywords

Package Sidebar

Install

npm i @we-debug/gulp-tool

Weekly Downloads

32

Version

0.31.6

License

MIT

Unpacked Size

37.3 kB

Total Files

26

Last publish

Collaborators

  • dlhandsome