webpack插件开发,以及在taro使用

929 阅读1分钟

1、 taro打包基于webpack

2、在taro打包出微信小程序之后(compiler.hooks.done),执行上传小程序ci操作

3、钩子函数增加callback执行,不然会卡在编译小程序代码过程

module.exports = class WeAppUploadAndGetCode {
  constructor(options) {
    this.options = options
    if(options.appName){
      miniProgramInfo.appName=options.appName;
    }
  }

  apply(compiler) {
    compiler.hooks.done.tapAsync('WeAppUploadAndGetCode', (compilation, callback) => {
      callback()
      this.upload()
    })
  }

4 在taro中使用,在prod.js中增加webpack插件调用配置


mini: {
		webpackChain(chain, webpack) {
			chain.merge({
				plugin: {
					install: {
						plugin: require('@jd/upload-weapp-webpack-plugin'),
						args: [
							{
								appid: '11223243d333eer',
								appName: '我的小程序',
								indexPath: 'pages/info/index',
							},
						],
					},
				},
			})