From a72f3a4a06cddc10aeb849257af35600d8fc7b3a Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Tue, 28 Dec 2021 11:16:24 +0800 Subject: [PATCH] feat(mp): improve minimize --- packages/vue-cli-plugin-uni/lib/mp/index.js | 24 ++++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/vue-cli-plugin-uni/lib/mp/index.js b/packages/vue-cli-plugin-uni/lib/mp/index.js index db458ba2c..04dea1b8b 100644 --- a/packages/vue-cli-plugin-uni/lib/mp/index.js +++ b/packages/vue-cli-plugin-uni/lib/mp/index.js @@ -89,7 +89,8 @@ const parseRequirePath = path => path.startsWith('common') ? `./${path}` : path function procssJs (name, assets, hasVendor) { const dirname = path.dirname(name) const runtimeJsCode = `require('${normalizePath(parseRequirePath(path.relative(dirname, 'common/runtime.js')))}');` - const vendorJsCode = hasVendor ? `require('${normalizePath(parseRequirePath(path.relative(dirname, 'common/vendor.js')))}');` : '' + const vendorJsCode = hasVendor + ? `require('${normalizePath(parseRequirePath(path.relative(dirname, 'common/vendor.js')))}');` : '' const mainJsCode = `require('${normalizePath(parseRequirePath(path.relative(dirname, 'common/main.js')))}');` const code = `${runtimeJsCode}${vendorJsCode}${mainJsCode}` + assets[name].source().toString() assets[name] = { @@ -176,10 +177,12 @@ module.exports = { } { - const globalEnv = process.env.UNI_PLATFORM === 'mp-alipay' ? 'my' : 'wx' - ;[].concat(process.env.UNI_MP_PLUGIN ? process.env.UNI_MP_PLUGIN_MAIN : JSON.parse(process.env.UNI_MP_PLUGIN_EXPORT)) + const globalEnv = process.env.UNI_PLATFORM === 'mp-alipay' ? 'my' : 'wx'; + [].concat(process.env.UNI_MP_PLUGIN ? process.env.UNI_MP_PLUGIN_MAIN : JSON.parse(process.env + .UNI_MP_PLUGIN_EXPORT)) .forEach(fileName => addToUniEntry(fileName)) - beforeCode += `${globalEnv}.__webpack_require_${(process.env.UNI_MP_PLUGIN || 'UNI_MP_PLUGIN').replace(/-/g, '_')}__ = __webpack_require__;` + beforeCode += + `${globalEnv}.__webpack_require_${(process.env.UNI_MP_PLUGIN || 'UNI_MP_PLUGIN').replace(/-/g, '_')}__ = __webpack_require__;` } const alias = { // 仅 mp-weixin @@ -197,9 +200,13 @@ module.exports = { // 使用外层依赖的版本 alias['regenerator-runtime'] = require.resolve('regenerator-runtime') - + const optimization = {} + if (process.env.UNI_MINIMIZE === 'true' && process.env.NODE_ENV === 'development') { + optimization.namedChunks = true + } return { - mode: process.env.NODE_ENV === 'production' ? 'production' : 'development', + mode: process.env.UNI_MINIMIZE === 'true' || process.env.NODE_ENV === 'production' ? 'production' + : 'development', entry () { return process.UNI_ENTRY }, @@ -256,7 +263,8 @@ module.exports = { }] }] }, - plugins + plugins, + optimization } }, chainWebpack (webpackConfig, vueOptions, api) { @@ -311,4 +319,4 @@ module.exports = { webpackConfig.plugins.delete('preload') webpackConfig.plugins.delete('prefetch') } -} +} -- GitLab