Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用Typescript编译网页包期间动态导入模块_Javascript_Typescript_Webpack - Fatal编程技术网

Javascript 在使用Typescript编译网页包期间动态导入模块

Javascript 在使用Typescript编译网页包期间动态导入模块,javascript,typescript,webpack,Javascript,Typescript,Webpack,我正试图为我的爱好项目创建一个框架,在这个框架中,我在自己的Typescript文件中有任意数量的对象定义。然后我有一个工厂,它在被请求时根据这些定义创建实体 例如,通过调用createEntity('Player')工厂将使用名为Player的定义来创建新实体 由于项目中可能有大量这些定义文件,我不想手动将它们全部导入factory模块。由于我使用的是Webpack,我认为应该可以找到所有与glob匹配的文件,如.entity.ts,并在编译过程中将它们导入工厂模块。然而,我真的不知道如何做到

我正试图为我的爱好项目创建一个框架,在这个框架中,我在自己的Typescript文件中有任意数量的对象定义。然后我有一个工厂,它在被请求时根据这些定义创建实体

例如,通过调用
createEntity('Player')
工厂将使用名为
Player
的定义来创建新实体

由于项目中可能有大量这些定义文件,我不想手动将它们全部导入factory模块。由于我使用的是Webpack,我认为应该可以找到所有与glob匹配的文件,如
.entity.ts
,并在编译过程中将它们导入工厂模块。然而,我真的不知道如何做到这一点

我发现有几处提到它似乎可以满足我的需要,但从我看到的示例中,我无法理解如何在我的factory模块中实际使用它。TSC还抱怨,当我在模块中放入以下行时,它找不到名称
require

function importAll(r) {
  r.keys().forEach(r);
}
importAll(require.context('.', true, /\.entity\.ts/));

那么,我如何将所有定义文件包含到Webpack捆绑包中,并将它们导入到我的factory模块,而无需手动写入导入?

找到了一个解决方案。首先,我必须将包
@types/webpack env
@types/node
安装为开发依赖项

然后,“我的工厂”模块中的以下代码选择并导入我的定义:

函数导入高度(r){
返回r.keys().map(r);
}
const knownanties=importAll(require.context('....',true,/\.entity\.ts$/);

找到了解决方案。首先,我必须将包
@types/webpack env
@types/node
安装为开发依赖项

然后,“我的工厂”模块中的以下代码选择并导入我的定义:

函数导入高度(r){
返回r.keys().map(r);
}
const knownanties=importAll(require.context('....',true,/\.entity\.ts$/);