1.0.2 • Published 2 months ago

@tntd/webpack-transform-path-resolve-plugin v1.0.2

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
2 months ago

修改 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');
          }
        }
      ])
    ]
  }
};