From 239f511276d04d963f31d32ee63b3df58b213eaa Mon Sep 17 00:00:00 2001 From: qiang Date: Thu, 8 Sep 2022 16:40:45 +0800 Subject: [PATCH] fix: clone babelLoader to use dynamicImport plugin --- packages/webpack-uni-mp-loader/lib/script-new.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/webpack-uni-mp-loader/lib/script-new.js b/packages/webpack-uni-mp-loader/lib/script-new.js index f8fbbd104..828d4034f 100644 --- a/packages/webpack-uni-mp-loader/lib/script-new.js +++ b/packages/webpack-uni-mp-loader/lib/script-new.js @@ -125,12 +125,21 @@ module.exports = function (content, map) { usingComponents[name] = `/${source}` }) - const babelLoader = findBabelLoader(this.loaders) + let babelLoader = findBabelLoader(this.loaders) if (!babelLoader) { callback(new Error(uniI18n.__('mpLoader.findFail', { 0: 'babel-loader' })), content) } 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 + } addDynamicImport(babelLoader, resourcePath, dynamicImports) updateUsingComponents(resourcePath, usingComponents, type) @@ -139,4 +148,4 @@ module.exports = function (content, map) { }, err => { callback(err, content, map) }) -} +} -- GitLab