diff --git a/packages/vue-cli-plugin-uni/lib/chain-webpack.js b/packages/vue-cli-plugin-uni/lib/chain-webpack.js index a4d79df74b24c2ded8f132baf6cc024918009ac0..9bb76a27276eb729b1d9d52f4fb12b904ce558cf 100644 --- a/packages/vue-cli-plugin-uni/lib/chain-webpack.js +++ b/packages/vue-cli-plugin-uni/lib/chain-webpack.js @@ -8,11 +8,11 @@ const { getPartialIdentifier } = require('./util') -function resolve (dir) { +function resolve(dir) { return path.resolve(__dirname, '..', dir) } -module.exports = function chainWebpack (platformOptions, vueOptions, api) { +module.exports = function chainWebpack(platformOptions, vueOptions, api) { const { runByHBuilderX, // 使用 HBuilderX 运行 cssPreprocessOptions @@ -150,5 +150,15 @@ module.exports = function chainWebpack (platformOptions, vueOptions, api) { if (process.env.BUILD_ENV === 'ali-ide') { webpackConfig.plugins.delete('progress') } + webpackConfig.resolve.alias + .delete('@') + .set( + '@/pages.json', + path.resolve(process.env.UNI_INPUT_DIR, 'pages.json') + + '?' + JSON.stringify({ + type: 'origin-pages-json' + }) + ) + .set('@', path.resolve(process.env.UNI_INPUT_DIR)) } } diff --git a/packages/webpack-uni-pages-loader/lib/index-new.js b/packages/webpack-uni-pages-loader/lib/index-new.js index 86b75ac55b79d4f9cab2a7dd2fe75ecb19c40db5..ea11d795c4761c45616be7d1c5f173ba86d3009c 100644 --- a/packages/webpack-uni-pages-loader/lib/index-new.js +++ b/packages/webpack-uni-pages-loader/lib/index-new.js @@ -84,6 +84,15 @@ module.exports = function (content, map) { process.exit(0) } + if (this.resourceQuery) { + const queryParam = loaderUtils.parseQuery(this.resourceQuery) + if (queryParam) { + if (queryParam.type === 'origin-pages-json') { + return `export default ${JSON.stringify(pagesJson)}` + } + } + } + if (global.uniPlugin.defaultTheme) { pagesJson = parseTheme(pagesJson) this.addDependency(path.resolve(process.env.UNI_INPUT_DIR, 'theme.json')) diff --git a/packages/webpack-uni-pages-loader/lib/index.js b/packages/webpack-uni-pages-loader/lib/index.js index f594209865aed2dad5c34b448cea1c4b4eee7546..752c9a718b7a53e948fe1060dd446e0f8138f14e 100644 --- a/packages/webpack-uni-pages-loader/lib/index.js +++ b/packages/webpack-uni-pages-loader/lib/index.js @@ -31,12 +31,13 @@ function checkEmitFile (filePath, jsonObj, changedEmitFiles) { module.exports = function (content, map) { // content = JSON.stringify(require('@dcloudio/uni-cli-shared/lib/uni_modules').getPagesJson(content)) + let queryParam if (this.resourceQuery) { - const params = loaderUtils.parseQuery(this.resourceQuery) - if (params) { - if (params.type === 'style') { + queryParam = loaderUtils.parseQuery(this.resourceQuery) + if (queryParam) { + if (queryParam.type === 'style') { return `export default ${JSON.stringify(getPagesJson())}` - } else if (params.type === 'stat') { + } else if (queryParam.type === 'stat') { return `export default ${JSON.stringify(process.UNI_STAT_CONFIG || {})}` } } @@ -73,6 +74,14 @@ module.exports = function (content, map) { } }) + if (this.resourceQuery && queryParam) { + if (queryParam) { + if (queryParam.type === 'origin-pages-json') { + return `export default ${JSON.stringify(pagesJson)}` + } + } + } + if (manifestJson.transformPx === false) { process.UNI_TRANSFORM_PX = false } else {