link的依赖包并没有像apm/yarn 安装的依赖一样通过babel编译
这是被link的项目地址: https://gitlab.com/oReadyL/umi3.0
clone
yarn
yarn link
yarn link @lxb/test
yarn start // 为啥自身link可运行?
这是出现错误重现的仓库地址:https://gitlab.com/oReadyL/testProject
clone
yarn
yarn link @lxb/test
yarn start // error
同上~~
在 2.x 是可以的
查了下资料 需要设置 include symlinks 实际地址
# .umirc.ts
import * as fs from 'fs';
import getSymlinks from 'get-symlinks';
const config = {
chainWebpack: (config, { webpack }) => {
let symlinks = getSymlinks.sync(['./node_modules/**'], { onlyDirectories: true, deep: 1 });
symlinks.forEach((path: string) => {
let _path = fs.realpathSync(path);
config.module.rule('ts-in-node_modules').include.add(_path);
});
},
};
export default config;
$ umi webpack --rule=ts-in-node_modules
{
test: /\.(jsx|ts|tsx)$/,
include: [
/node_modules/,
// 自动添加本地 symlink 的 package
'/Users/Mizi/git/mt/MasterRT/src/lib',
'/Users/Mizi/git/mre/projects/mre-met'
],
use: [
{
loader: '/Users/Mizi/git/demo/umi-issues/node_modules/babel-loader/lib/index.js',
options: [Object]
}
]
}
Most helpful comment
查了下资料 需要设置 include symlinks 实际地址