diff --git a/packages/vue-cli-plugin-uni/lib/mp/index.js b/packages/vue-cli-plugin-uni/lib/mp/index.js index ffcb975d0833d8deb261a42cf73b9afb86c6904e..a13bc6cb7b69fd2d99a6cd2703a97b248471a236 100644 --- a/packages/vue-cli-plugin-uni/lib/mp/index.js +++ b/packages/vue-cli-plugin-uni/lib/mp/index.js @@ -169,6 +169,10 @@ module.exports = { webpackConfig.optimization.splitChunks = require('../split-chunks')() + if (webpack.version[0] > 4) { + webpackConfig.optimization.chunkIds = 'named' + } + parseEntry() const statCode = getPlatformStat() @@ -330,6 +334,11 @@ ${globalEnv}.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;` } } + if (process.env.NODE_ENV === 'production' && webpack.version[0] > 4) { + // 暂时禁用,否则导致 provide 被压缩和裁剪 + webpackConfig.optimization.usedExports(false) + } + if (process.env.UNI_SUBPACKGE || process.env.UNI_MP_PLUGIN) { initSubpackageConfig(webpackConfig, vueOptions) } diff --git a/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js b/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js index 6502daed8d1d200059669f8857466857a7bc63f8..f49deac6252ddc066ea0fd949c582782eeadfdac 100644 --- a/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js +++ b/packages/webpack-uni-mp-loader/lib/plugin/generate-component.js @@ -70,7 +70,11 @@ module.exports = function generateComponent (compilation, jsonpFunction = 'webpa const modules = compilation.modules const concatenatedModules = modules.filter(module => module.modules) - const uniModuleId = modules.find(module => module.resource && normalizePath(module.resource) === uniPath).id + let uniModule = modules.find(module => module.resource && normalizePath(module.resource) === uniPath) + if (!uniModule && webpack.version[0] > 4) { + uniModule = modules.find(module => module.rootModule && module.rootModule.resource && normalizePath(module.rootModule.resource) === uniPath) + } + const uniModuleId = uniModule.id const styleImports = {} const fixSlots = {} const vueOuterComponentSting = 'vueOuterComponents'