我正在尝试使用webpack将第三方库捆绑到供应商捆绑包中,但是这样做是通过扫描树中的所有TypeScript文件并以这种方式来识别包导入,然后将它们以数组形式返回,而不是手动返回维护一系列依赖项。
我在npm上找到了一个可以https://www.npmjs.com/package/find-imports的软件包,但不幸的是,它仅适用于.js文件而不是TypeScript。
非常感谢您的帮助。
答案 0 :(得分:0)
// get them all
const imports = sourceFile.getImportDeclarations();
// or get the first one that matches a condition
const importWithDefaultImport = sourceFile.getImportDeclaration(i => i.getDefaultImport() != null);
const someModuleImport = sourceFile.getImportDeclaration("module-specifier-text");
该示例摘自以下页面:https://dsherret.github.io/ts-simple-ast/details/imports
答案 1 :(得分:0)
不确定这是否是您要寻找的东西,但是您可能想检查一下webpack的require.context
功能。它允许您指定目录和正则表达式以匹配所包含文件的名称。
以下示例从/\.ts$/
导入所有与'path/to/folder'
匹配的文件。第二个参数true
指示应递归查询指定的文件夹(包括子文件夹)。
const myImports = require.context('path/to/folder', true, /\.ts$/);
myImports.keys().forEach(myImports);