Javascript 如何动态加载CommonJs模块?

Javascript 如何动态加载CommonJs模块?,javascript,webpack,commonjs,Javascript,Webpack,Commonjs,我正在使用React、TS和Webpack堆栈开发应用程序 我需要实现允许我的应用程序与客户端插件一起工作的功能-js文件覆盖某些类的现有功能。它可以从任何地方加载-本地文件系统或远程存储库,并且应该在运行时中获取,因为我需要一个选项来在配置中指定新的扩展名,只需按F5 动态导入不是我的情况,因为据我所知,Webpack至少需要能够大致猜测import()要引用什么。使用简单的“get”请求可能是一个选项,但在这种情况下,如何使用加载的脚本作为CommonJS模块?我对动态导入行为的看法正确吗?

我正在使用
React
TS
Webpack
堆栈开发应用程序

我需要实现允许我的应用程序与客户端插件一起工作的功能-
js
文件覆盖某些类的现有功能。它可以从任何地方加载-本地文件系统或远程存储库,并且应该在
运行时
中获取,因为我需要一个选项来在配置中指定新的扩展名,只需按
F5

动态导入不是我的情况,因为据我所知,
Webpack
至少需要能够大致猜测
import()
要引用什么。使用简单的“get”请求可能是一个选项,但在这种情况下,如何使用加载的脚本作为
CommonJS
模块?我对动态导入行为的看法正确吗?

您可以使用它远程加载一个公共js模块

从“@paciolan/remote module loader”导入{createLoadRemoteModule}
常量main=async()=>{
const loadRemoteModule=createLoadRemoteModule()
const myModule=等待loadRemoteModule(“http://fake.url/modules/my-module.js")
const value=myModule.default()
console.log({value})
}
main()
如果需要将依赖项传递给模块:

导入{
createLoadRemoteModule,
创造需要
}来自“@paciolan/远程模块加载器”
常量依赖项={
反应:要求(“反应”)
}
常量main=async()=>{
const requires=createRequires(依赖项)
const loadRemoteModule=createLoadRemoteModule({requires})
const myModule=等待loadRemoteModule(“http://fake.url/modules/my-module.js")
const value=myModule.default()
console.log({value})
}
main()
如果需要加载React组件,请检查

如果你有一套,你可能需要采取额外的步骤