@longzai-intelligence-taro/taro-loader-resolve-plugin
v0.0.9
Published
Taro 构建解析插件 - 修复 `@tarojs/taro-loader` 裸名 loader 在 globalStore 布局下的模块解析
Maintainers
Readme
@longzai-intelligence-taro/taro-loader-resolve-plugin
Taro 构建解析插件。修复 @tarojs/taro-loader 裸名 loader 在产品群 globalStore 布局下的模块解析断裂。
背景
taro @tarojs/webpack5-runner 的 MiniPlugin 与 BuildNativePlugin 在编译期向 module.loaders 直接注入裸名字符串 @tarojs/taro-loader,webpack 不再解析这些后注入项,loader-runner 以原生 require 解析。globalStore 使包物理位置脱离仓库后,原生 require 向上查找永远到不了消费应用的 node_modules,构建报 Cannot find module '@tarojs/taro-loader'。
用法
在 taro 项目的 config/index.ts 的 plugins 数组以包名注册:
export default defineConfig({
plugins: ['@longzai-intelligence-taro/taro-loader-resolve-plugin'],
});插件在 modifyWebpackChain 钩子中以 ctx.appPath 为解析基准装载 webpack 插件,把裸名 loader 项替换为绝对路径,options 原样保留,watch 模式重复构建安全。
治理边界
依据仓内 ADR 0001,本插件是 taro 构建解析治理的唯一通道,明确禁止 linker = "hoisted"、NODE_PATH 与 scripts 临时包装脚本三类替代做法。
