UNPKG

@icanvas/webpack

Version:

这是icanvas的默认webpack打包配置

38 lines (36 loc) 1.37 kB
const path = require('path'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const QiniuPlugin = require('../utils/qiniu.js'); const BasePath = process.cwd(); module.exports = (ENV, Config, RemoteResourceMap) => { let ResourceDir = path.resolve(BasePath, '..', ENV.target, 'resource'); let plugins = []; //清理文件夹 plugins[0] = new CleanWebpackPlugin({ dangerouslyAllowCleanPatternsOutsideProject: true, cleanOnceBeforeBuildPatterns: [path.join(BasePath, '..', 'cache', '**', '*'), path.join('**', '*')], verbose: false, dry: false, }); plugins[1] = new CopyWebpackPlugin([{ from: path.resolve(BasePath, 'resource', 'local'), to: path.resolve(ResourceDir, 'local') }]); //拷贝资源 if (!ENV.qiniu) { plugins[2] = new CopyWebpackPlugin([{ from: path.resolve(BasePath, 'resource', 'remote'), to: path.resolve(ResourceDir, 'remote') }]); } else { if (ENV.upload) { if (!Config.Qiniu) { console.log('缺少七牛配置Qiniu:{Path,Url,Key,Secret,Bucket}'); return process.exit(0); } plugins[2] = new QiniuPlugin( path.resolve(BasePath, 'resource', 'remote'), `${Config.Qiniu.Path}/${Config.EnglishName}/${ENV.qiniu}`, RemoteResourceMap, Config.core == 'wxgame' ? 'zip' : 'dir', Config.Qiniu, ); } } return { plugins }; };