diff --git a/packages/chameleon-loader/src/cml-compile/json-handle.js b/packages/chameleon-loader/src/cml-compile/json-handle.js index 4775682a841368cc582e85255fdd42a6304616bd..287a77e5b50f97fa8724d33c0cae3336bcd496bd 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 940e565de30bf31dab72901feaa0b80d0166286a..f84fcd95620a03cb108432dfc62837d5220277c7 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 469cd1ccb82f436c78bf74ba9fd1c066e8481c03..70ab81a6567b19afab273f21eaf1efbf05c1112c 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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 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 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b --- /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 0000000000000000000000000000000000000000..42a14c06d6b2409f5323082088a9271a6589986d --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/chameleon-tool/configs/getMiniAppBuildConfig.js b/packages/chameleon-tool/configs/getMiniAppBuildConfig.js index be02fba7fafff514e8057136092dd1067c6b81d4..b77b81d27855c93cbcde2fc0e021f564ec5b0475 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 63803430b06d7f9f19f7956bd133082349b03829..a1748cdda4b690869d5487f55e19ad10058be35d 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: '../../' }