From d5e4449bd332197171d01605c4742457af188436 Mon Sep 17 00:00:00 2001 From: huyuangang Date: Tue, 9 Apr 2019 15:03:09 +0800 Subject: [PATCH] fixbug wxml --- .../src/cml-compile/json-handle.js | 2 +- packages/chameleon-tool-utils/src/index.js | 21 +++++++++---------- .../chameleon-tool-utils/test/index.test.js | 16 ++++++++++++++ .../node_modules/vant-weapp/test.js | 0 .../node_modules/vant-weapp/test.json | 1 + .../node_modules/vant-weapp/test.wxml | 2 ++ .../node_modules/vant-weapp/test.wxss | 0 .../configs/getMiniAppBuildConfig.js | 2 +- packages/chameleon-tool/lib/config.js | 2 +- 9 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.js create mode 100644 packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.json create mode 100644 packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxml create mode 100644 packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxss diff --git a/packages/chameleon-loader/src/cml-compile/json-handle.js b/packages/chameleon-loader/src/cml-compile/json-handle.js index 4775682a..287a77e5 100644 --- a/packages/chameleon-loader/src/cml-compile/json-handle.js +++ b/packages/chameleon-loader/src/cml-compile/json-handle.js @@ -19,7 +19,7 @@ module.exports = function(loaderContext, jsonObject, cmlType) { } cmlUtils.addNpmComponents(jsonObject, jsonPath, cmlType, context) - + return jsonObject; diff --git a/packages/chameleon-tool-utils/src/index.js b/packages/chameleon-tool-utils/src/index.js index 940e565d..f84fcd95 100644 --- a/packages/chameleon-tool-utils/src/index.js +++ b/packages/chameleon-tool-utils/src/index.js @@ -678,7 +678,6 @@ _.handleComponentUrl = function (context, cmlFilePath, comPath, cmlType) { refUrl } } - if (~filePath.indexOf('node_modules')) { refUrl = _.npmComponentRefPath(filePath, context); // 改为相对路径 @@ -687,18 +686,18 @@ _.handleComponentUrl = function (context, cmlFilePath, comPath, cmlType) { } else { // 改成相对路径 refUrl = _.handleRelativePath(cmlFilePath, filePath); + } - refUrl = refUrl.replace(new RegExp(`(\\.cml|\\.${cmlType}\\.cml)`), ''); - if (cmlType === 'wx') { - refUrl = refUrl.replace(/\.wxml/g, ''); - } - if (cmlType === 'alipay') { - refUrl = refUrl.replace(/\.axml/g, ''); - } + refUrl = refUrl.replace(new RegExp(`(\\.cml|\\.${cmlType}\\.cml)`), ''); + if (cmlType === 'wx') { + refUrl = refUrl.replace(/\.wxml$/g, ''); + } + if (cmlType === 'alipay') { + refUrl = refUrl.replace(/\.axml$/g, ''); + } - if (cmlType === 'baidu') { - refUrl = refUrl.replace(/\.swan/g, ''); - } + if (cmlType === 'baidu') { + refUrl = refUrl.replace(/\.swan$/g, ''); } return { diff --git a/packages/chameleon-tool-utils/test/index.test.js b/packages/chameleon-tool-utils/test/index.test.js index 469cd1cc..70ab81a6 100644 --- a/packages/chameleon-tool-utils/test/index.test.js +++ b/packages/chameleon-tool-utils/test/index.test.js @@ -365,6 +365,22 @@ describe('index.js', function () { expect(result.isCml).to.equal(true); }) + it('handleComponentUrl isCml true wxml', function() { + global.cml = {}; + _.setCli(true); + cml.config = require('./testlib/cli/config.js'); + cml.utils = require('../src/index.js'); + cml.projectRoot = path.join(__dirname, 'testlib/demo-project'); + cml.config.merge({ + }) + var cmlFilePath = path.join(__dirname, 'testlib/demo-project/src/pages/page1/page1.cml'); + var comrefPath = 'vant-weapp/test' + + + let result = _.handleComponentUrl(cml.projectRoot, cmlFilePath, comrefPath, 'wx'); + expect(result.refUrl).to.equal('./../../npm/vant-weapp/test'); + }) + it('findInterfaceFile', function() { global.cml = {}; _.setCli(true); diff --git a/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.js b/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.js new file mode 100644 index 00000000..e69de29b diff --git a/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.json b/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxml b/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxml new file mode 100644 index 00000000..42a14c06 --- /dev/null +++ b/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxss b/packages/chameleon-tool-utils/test/testlib/demo-project/node_modules/vant-weapp/test.wxss new file mode 100644 index 00000000..e69de29b diff --git a/packages/chameleon-tool/configs/getMiniAppBuildConfig.js b/packages/chameleon-tool/configs/getMiniAppBuildConfig.js index be02fba7..b77b81d2 100644 --- a/packages/chameleon-tool/configs/getMiniAppBuildConfig.js +++ b/packages/chameleon-tool/configs/getMiniAppBuildConfig.js @@ -33,7 +33,7 @@ module.exports = function (options) { ] } if (media === 'export') { - return getMiniAppExportConfig(options); + return getMiniAppExportConfig(merge(commonConfig, buildConfig), options); } return merge(commonConfig, buildConfig) } diff --git a/packages/chameleon-tool/lib/config.js b/packages/chameleon-tool/lib/config.js index 63803430..a1748cdd 100644 --- a/packages/chameleon-tool/lib/config.js +++ b/packages/chameleon-tool/lib/config.js @@ -27,7 +27,7 @@ var miniappConfig = { 'process.env.NODE_ENV': JSON.stringify('production') }, entry: [ - './components' + './src/components' ], publicPath: '../../' } -- GitLab