提交 42f14604 编写于 作者: 雪洛's avatar 雪洛

refactor: getPlatformUniCloud

上级 2e02ab4d
......@@ -58,8 +58,9 @@ const {
nvueCssPreprocessOptions,
nvueHtmlPreprocessOptions,
getPlatformGlobal,
getPlatformStat,
getPlatformPush
getPlatformStat,
getPlatformPush,
getPlatformUniCloud
} = require('./platform')
module.exports = {
......@@ -109,6 +110,7 @@ module.exports = {
nvueCssPreprocessOptions,
nvueHtmlPreprocessOptions,
getPlatformGlobal,
getPlatformStat,
getPlatformPush
}
getPlatformStat,
getPlatformPush,
getPlatformUniCloud
}
......@@ -175,6 +175,13 @@ module.exports = {
}
return ''
},
getPlatformUniCloud () {
if (JSON.parse(process.env.UNI_CLOUD_PROVIDER || '[]').length) {
const uniCloudLibPath = '@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js'
return `import '${uniCloudLibPath}';`
}
return ''
},
getBabelParserOptions () {
return {
sourceType: 'module',
......@@ -192,4 +199,4 @@ module.exports = {
]
}
}
}
}
......@@ -4,7 +4,8 @@ const webpack = require('webpack')
const {
getMainEntry,
getPlatformStat,
getPlatformPush
getPlatformPush,
getPlatformUniCloud
} = require('@dcloudio/uni-cli-shared')
const vueLoader = require('@dcloudio/uni-cli-shared/lib/vue-loader')
......@@ -62,12 +63,9 @@ const v3 = {
const statCode = getPlatformStat()
const pushCode = getPlatformPush()
const uniCloudCode = getPlatformUniCloud()
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}';`
}
const beforeCode = 'import \'uni-pages\';'
if (!webpackConfig.optimization) {
webpackConfig.optimization = {}
}
......@@ -159,7 +157,7 @@ const v3 = {
options: {
compiler: vueLoader.compiler,
before: [
beforeCode + require('../util').getAutomatorCode() + statCode + pushCode +
beforeCode + require('../util').getAutomatorCode() + statCode + pushCode + uniCloudCode +
getGlobalUsingComponentsCode()
]
}
......
......@@ -6,7 +6,8 @@ const {
getMainEntry,
getH5Options,
getPlatformStat,
getPlatformPush
getPlatformPush,
getPlatformUniCloud
} = require('@dcloudio/uni-cli-shared')
const {
......@@ -95,17 +96,15 @@ module.exports = {
const statCode = getPlatformStat()
const pushCode = getPlatformPush()
const uniCloudCode = getPlatformUniCloud()
try {
const babelConfig = require(path.resolve(process.env.UNI_CLI_CONTEXT, 'babel.config.js'))
useBuiltIns = babelConfig.presets[0][1].useBuiltIns
} catch (e) {}
let beforeCode = (useBuiltIns === 'entry' ? 'import \'@babel/polyfill\';' : '') +
const 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'],
......@@ -121,7 +120,7 @@ module.exports = {
loader: path.resolve(__dirname, '../../packages/wrap-loader'),
options: {
before: [
beforeCode + require('../util').getAutomatorCode() + statCode + pushCode +
beforeCode + require('../util').getAutomatorCode() + statCode + pushCode + uniCloudCode +
getGlobalUsingComponentsCode()
]
}
......
......@@ -8,7 +8,8 @@ const {
getPlatformExts,
getPlatformCssnano,
getPlatformStat,
getPlatformPush
getPlatformPush,
getPlatformUniCloud
} = require('@dcloudio/uni-cli-shared')
const WebpackUniAppPlugin = require('../../packages/webpack-uni-app-loader/plugin/index')
......@@ -168,6 +169,7 @@ module.exports = {
const statCode = getPlatformStat()
const pushCode = getPlatformPush()
const uniCloudCode = getPlatformUniCloud()
let beforeCode = 'import \'uni-pages\';'
......@@ -194,11 +196,6 @@ module.exports = {
${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')
......@@ -244,7 +241,7 @@ ${globalEnv}.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;`
loader: path.resolve(__dirname, '../../packages/wrap-loader'),
options: {
before: [
beforeCode + require('../util').getAutomatorCode() + statCode + pushCode
beforeCode + require('../util').getAutomatorCode() + statCode + pushCode + uniCloudCode
]
}
}, {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册