@tntd/webpack-transform-path-resolve-plugin
v1.0.2
Published
webpack resolve plugin for transform path with function
Downloads
8
Readme
修改 webpack resolve 规则的插件
这是一个 Webpack 的 resolve 插件, 用于增强 alias 功能(alias 只支持字符串,不支持函数)
示例
如下文件目录
- languages
- page1
- a.js
- page2
- b.js
page1 下面的模块里面加载的模块,如果来源于 antd,需要重定向到 tntd page1 下面的模块里面加载的模块,如果来源于 antd,不进行重定向
文件 a.js 存在, import { Button } from "antd"
, 则转换为 import { Button } from "tntd"
文件 b.js 存在, import { Button } from "antd"
, 则不转换
const fs = require('fs');
const TransformPathResolvePlugin = require('@tntd/webpack-transform-path-resolve-plugin');
const webpackConfig = {
resolve: {
plugins: [
new TransformPathResolvePlugin([
{
// 把antd下的icon使用改成tntd
matchPath(sourcePath, modulePath) {
return (
sourcePath.includes(path.join('node_modules', 'antd')) &&
modulePath.endsWith('icon') &&
modulePath !== path.join('tntd', 'es', 'icon')
);
},
transform() {
return path.join('tntd', 'es', 'icon');
}
}
])
]
}
};