From 686f32fa3885dab071950c8686e113607f4fa961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BA=9A=E7=90=AA?= Date: Tue, 21 Jun 2022 20:25:22 +0800 Subject: [PATCH] feat: auto import uniCloud once --- packages/vue-cli-plugin-uni/lib/app-plus/index.js | 9 ++++++--- packages/vue-cli-plugin-uni/lib/h5/index.js | 9 ++++++--- packages/vue-cli-plugin-uni/lib/mp/index.js | 11 ++++++++--- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/packages/vue-cli-plugin-uni/lib/app-plus/index.js b/packages/vue-cli-plugin-uni/lib/app-plus/index.js index a59b8cdb3..af7a9cfb9 100644 --- a/packages/vue-cli-plugin-uni/lib/app-plus/index.js +++ b/packages/vue-cli-plugin-uni/lib/app-plus/index.js @@ -63,8 +63,11 @@ const v3 = { const statCode = getPlatformStat() const pushCode = getPlatformPush() - const beforeCode = 'import \'uni-pages\';' - + let beforeCode = 'import \'uni-pages\';' + if (JSON.parse(process.env.UNI_CLOUD_PROVIDER || '[]').length) { + const uniCloudLibPath = '@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js' + beforeCode += `import '${uniCloudLibPath}';` + } if (!webpackConfig.optimization) { webpackConfig.optimization = {} } @@ -270,4 +273,4 @@ if (process.env.UNI_USING_V3) { module.exports = v3 } else { module.exports = require('../mp') -} +} diff --git a/packages/vue-cli-plugin-uni/lib/h5/index.js b/packages/vue-cli-plugin-uni/lib/h5/index.js index 2abe951f6..5c85d0352 100644 --- a/packages/vue-cli-plugin-uni/lib/h5/index.js +++ b/packages/vue-cli-plugin-uni/lib/h5/index.js @@ -100,9 +100,12 @@ module.exports = { useBuiltIns = babelConfig.presets[0][1].useBuiltIns } catch (e) {} - const beforeCode = (useBuiltIns === 'entry' ? 'import \'@babel/polyfill\';' : '') + + let beforeCode = (useBuiltIns === 'entry' ? 'import \'@babel/polyfill\';' : '') + `import 'uni-pages';import 'uni-${process.env.UNI_PLATFORM}';` - + if (JSON.parse(process.env.UNI_CLOUD_PROVIDER || '[]').length) { + const uniCloudLibPath = '@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js' + beforeCode += `import '${uniCloudLibPath}';` + } return { resolve: { extensions: ['.nvue'], @@ -188,4 +191,4 @@ module.exports = { require('./cssnano-options')(webpackConfig) } } -} +} diff --git a/packages/vue-cli-plugin-uni/lib/mp/index.js b/packages/vue-cli-plugin-uni/lib/mp/index.js index 745a17d87..726abde7d 100644 --- a/packages/vue-cli-plugin-uni/lib/mp/index.js +++ b/packages/vue-cli-plugin-uni/lib/mp/index.js @@ -189,11 +189,16 @@ module.exports = { ? process.env.UNI_MP_PLUGIN_MAIN : JSON.parse(process.env.UNI_MP_PLUGIN_EXPORT) ).forEach(fileName => addToUniEntry(fileName)) - beforeCode += ` -// @ts-ignore + beforeCode += ` +// @ts-ignore ${globalEnv}.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;` } + if (JSON.parse(process.env.UNI_CLOUD_PROVIDER || '[]').length) { + const uniCloudLibPath = '@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js' + beforeCode += `import '${uniCloudLibPath}';` + } + const alias = { // 仅 mp-weixin 'mpvue-page-factory': require.resolve( '@dcloudio/vue-cli-plugin-uni/packages/mpvue-page-factory') @@ -327,4 +332,4 @@ ${globalEnv}.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;` webpackConfig.plugins.delete('preload') webpackConfig.plugins.delete('prefetch') } -} +} -- GitLab