diff --git a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js index 5861418cb5d5849f223f92730e4c50eed39a6eea..b42677fadeb18e1f5c504f7b970b1941afcffe07 100644 --- a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js +++ b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js @@ -36,7 +36,11 @@ const uniPath = process.env.UNI_USING_V8 ? '../packages/uni-app-plus-nvue-v8/dist/index.js' : '../packages/uni-app-plus-nvue/dist/index.js' -const provide = {} +const uniCloudPath = require.resolve('@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js') + +const provide = { + 'uniCloud': [uniCloudPath, 'default'] +} if (process.env.UNI_USING_V3 || process.env.UNI_USING_NATIVE) { provide['uni.getCurrentSubNVue'] = [path.resolve(__dirname, diff --git a/packages/vue-cli-plugin-uni/commands/build.js b/packages/vue-cli-plugin-uni/commands/build.js index 51cd20ff9c74fec10c89e511a804fc612afb72d1..5e1950119b439d9bc658f7971eea12144e447b05 100644 --- a/packages/vue-cli-plugin-uni/commands/build.js +++ b/packages/vue-cli-plugin-uni/commands/build.js @@ -64,6 +64,9 @@ function getWebpackConfig (api, args, options) { }) } else { modifyConfig(webpackConfig, config => { + if (!config.optimization) { + config.optimization = {} + } config.optimization.namedModules = false }) } @@ -77,11 +80,11 @@ function getWebpackConfigs (api, args, options) { const pluginOptions = (options.pluginOptions || (options.pluginOptions = {})) pluginOptions['uni-app-plus'] = { service: true - } + } options.publicPath = '/' const serviceWebpackConfig = getWebpackConfig(api, args, options) delete pluginOptions['uni-app-plus']['service'] - pluginOptions['uni-app-plus']['view'] = true + pluginOptions['uni-app-plus']['view'] = true options.publicPath = './' const viewWebpackConfig = getWebpackConfig(api, args, options) return [serviceWebpackConfig, viewWebpackConfig] 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 e3e57ac449a1a83ed552bf5dfa0ef2c529225ba6..2be242be23c98f76895c96974b88ef6125677f03 100644 --- a/packages/vue-cli-plugin-uni/lib/app-plus/index.js +++ b/packages/vue-cli-plugin-uni/lib/app-plus/index.js @@ -24,6 +24,7 @@ const { const runtimePath = '@dcloudio/uni-mp-weixin/dist/mp.js' const wxsPath = '@dcloudio/uni-mp-weixin/dist/wxs.js' +const uniCloudPath = path.resolve(__dirname, '../../packages/uni-cloud/dist/index.js') function getProvides (isAppService) { if (isAppService) { @@ -35,7 +36,8 @@ function getProvides (isAppService) { 'Component': [runtimePath, 'Component'], 'Behavior': [runtimePath, 'Behavior'], 'getDate': [wxsPath, 'getDate'], - 'getRegExp': [wxsPath, 'getRegExp'] + 'getRegExp': [wxsPath, 'getRegExp'], + 'uniCloud': [uniCloudPath, 'default'] } } return { // app-view diff --git a/packages/vue-cli-plugin-uni/lib/h5/index.js b/packages/vue-cli-plugin-uni/lib/h5/index.js index 4223ac52e84f1169a03cb19bb9f7546ec5640ba3..5251e6855b1df04c45abd15e9b05e2cda6a4f6de 100644 --- a/packages/vue-cli-plugin-uni/lib/h5/index.js +++ b/packages/vue-cli-plugin-uni/lib/h5/index.js @@ -30,9 +30,11 @@ const { const runtimePath = '@dcloudio/uni-mp-weixin/dist/mp.js' const wxsPath = '@dcloudio/uni-mp-weixin/dist/wxs.js' +const uniCloudPath = path.resolve(__dirname, '../../packages/uni-cloud/dist/index.js') function getProvides () { return { + 'uniCloud': [uniCloudPath, 'default'], 'wx.nextTick': [runtimePath, 'nextTick'], 'Page': [runtimePath, 'Page'], 'Component': [runtimePath, 'Component'], @@ -103,7 +105,7 @@ module.exports = { `import 'uni-pages';import 'uni-${process.env.UNI_PLATFORM}';` const qihooCode = process.env.UNI_SUB_PLATFORM === 'mp-360' - ? ` + ? ` import 'uni-touch-emulator'; import qh from 'uni-qh'; global.qh = qh; @@ -117,7 +119,7 @@ global.onAppShow = function(){}; alias: { 'vue-router': resolve('packages/h5-vue-router'), 'uni-h5': require.resolve('@dcloudio/uni-h5'), - 'uni-qh': path.resolve(__dirname, 'qh-api.js'), + 'uni-qh': path.resolve(__dirname, 'qh-api.js'), 'uni-touch-emulator': path.resolve(__dirname, 'touch-emulator.js') } }, diff --git a/packages/vue-cli-plugin-uni/lib/mp.js b/packages/vue-cli-plugin-uni/lib/mp.js index c3ee0dd0ef5e07fe9bf65b217634d717613567e6..1a714d9651d6a496724c84137545d11362f611f0 100644 --- a/packages/vue-cli-plugin-uni/lib/mp.js +++ b/packages/vue-cli-plugin-uni/lib/mp.js @@ -27,8 +27,10 @@ function createUniMPPlugin () { function getProvides () { const uniPath = require.resolve('@dcloudio/uni-' + process.env.UNI_PLATFORM) + const uniCloudPath = path.resolve(__dirname, '../packages/uni-cloud/dist/index.js') const provides = { - 'uni': [uniPath, 'default'] + 'uni': [uniPath, 'default'], + 'uniCloud': [uniCloudPath, 'default'] } if (process.env.UNI_USING_COMPONENTS) {