diff --git a/packages/webpack-uni-mp-loader/lib/main-new.js b/packages/webpack-uni-mp-loader/lib/main-new.js index db7088e2d1b5cf083dc151fc3ce0c8e5372a3e1a..15b7c48ddb3e3853c91095d822b2a2ded118a43c 100644 --- a/packages/webpack-uni-mp-loader/lib/main-new.js +++ b/packages/webpack-uni-mp-loader/lib/main-new.js @@ -96,12 +96,21 @@ createPage(Page) components: [] }) - const babelLoader = findBabelLoader(this.loaders) + let babelLoader = findBabelLoader(this.loaders) if (!babelLoader) { throw new Error(uniI18n.__('mpLoader.findFail', { 0: 'babel-loader' })) } else { + const webpack = require('webpack') + if (webpack.version[0] > 4) { + // clone babelLoader and options + const index = this.loaders.indexOf(babelLoader) + const newBabelLoader = Object.assign({}, babelLoader) + Object.assign(newBabelLoader, { options: Object.assign({}, babelLoader.options) }) + this.loaders.splice(index, 1, newBabelLoader) + babelLoader = newBabelLoader + } addCreateApp(babelLoader) } @@ -147,4 +156,4 @@ createPage(Page) callback(err, content, map) }) } -} +}