From 06bdd95549cfafd10071250f52b48a32a41ad7a8 Mon Sep 17 00:00:00 2001 From: shiftj18 Date: Fri, 9 Sep 2022 11:05:17 +0800 Subject: [PATCH 1/2] feat(script-loader): support platform-loader --- packages/jsx2mp-loader/src/script-loader.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/jsx2mp-loader/src/script-loader.js b/packages/jsx2mp-loader/src/script-loader.js index 3fde2066..13706694 100644 --- a/packages/jsx2mp-loader/src/script-loader.js +++ b/packages/jsx2mp-loader/src/script-loader.js @@ -53,10 +53,11 @@ module.exports = function scriptLoader(content) { const outputFile = (rawContent, isFromNpm = true) => { let distSourcePath; if (isFromNpm) { - const relativeNpmPath = relative(currentNodeModulePath, this.resourcePath); - const splitedNpmPath = relativeNpmPath.split(sep); - if (/^_?@/.test(relativeNpmPath)) splitedNpmPath.shift(); // Extra shift for scoped npm. - splitedNpmPath.shift(); // Skip npm module package, for cnpm/tnpm will rewrite this. + // 以下四行开销测下来用不到,故注释 + // const relativeNpmPath = relative(currentNodeModulePath, this.resourcePath); + // const splitedNpmPath = relativeNpmPath.split(sep); + // if (/^_?@/.test(relativeNpmPath)) splitedNpmPath.shift(); // Extra shift for scoped npm. + // splitedNpmPath.shift(); // Skip npm module package, for cnpm/tnpm will rewrite this. distSourcePath = normalizeNpmFileName(join(outputPath, 'npm', relative(rootNodeModulePath, this.resourcePath))); } else { const relativeFilePath = relative( @@ -258,7 +259,10 @@ module.exports = function scriptLoader(content) { content ].join('\n'); } else if (!isAppJSon) { - outputFile(rawContent, false); + // outputFile(rawContent, false); + // content 是过了 rax-platform-loader 的(会包含 env 变量转换为布尔常量化),而 rawContent 是没有这个转换的; + // 后续的 babel-plugin-minify-dead-code-elimination-while-loop-fixed 依赖布尔常量来 tree-shaking. + outputFile(content, false); } return isJSON ? '{}' : transformCode( From 1c721998a3da5cb8ce3641359d496831a0e5c30a Mon Sep 17 00:00:00 2001 From: shiftj18 Date: Tue, 13 Sep 2022 13:28:07 +0800 Subject: [PATCH 2/2] feat(script-loader): support platform-loader of npm --- packages/jsx2mp-loader/src/script-loader.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/jsx2mp-loader/src/script-loader.js b/packages/jsx2mp-loader/src/script-loader.js index 13706694..da59f61e 100644 --- a/packages/jsx2mp-loader/src/script-loader.js +++ b/packages/jsx2mp-loader/src/script-loader.js @@ -236,7 +236,8 @@ module.exports = function scriptLoader(content) { content ].join('\n'); } else { - outputFile(rawContent); + // outputFile(rawContent); + outputFile(content); } } else if (isFromConstantDir(this.resourcePath) && isThirdMiniappComponent) { const dependencies = [];