我有一个tsconfig.json
文件,其中包含要在我的打字稿中使用的paths
和tsconfig-paths-webpack-plugin
以供webpack使用。但是,路径之一引用位于项目目录外部的共享库。当我尝试将应用程序与webpack捆绑在一起时,它会伸出手并适当地获取库并将其添加到捆绑包中。有什么办法让它不捆绑这个外部模块,而只是在捆绑时调整require语句?
我尝试像这样在webpack的externals
选项中添加一个正则表达式,这样可以防止模块捆绑在一起。但是,tsconfig-paths-webpack-plugin
不会评估import语句,它在编译后的代码中仍为@libs/[MY_LIB]
而不是"../../../libs/[MY_LIB]"
:
{
// ...
externals: [
NodeExternals(),
/^@libs.*/
],
}
最终目标
// This is in the typescript
import * as myLib from "@libs/MY_LIB";
// Should become the following
const myLib = require("../../../libs/MY_LIB");