我有一个tsconfig.json
文件,其中包含paths
要在我的打字稿中使用和tsconfig-paths-webpack-plugin
供 webpack 使用的文件。但是,其中一个路径引用了位于项目目录之外的共享库。当我尝试将应用程序与 webpack 捆绑时,它会伸出手并适当地获取库并将其添加到包中。有没有办法让它不捆绑这个外部模块,而只是让它在捆绑时调整 require 语句?
我已经尝试externals
在 webpack 中的选项中添加一个正则表达式,这样可以防止模块被捆绑。但是,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");