我需要以类似于使用require.resolve()解析node.js中的CJS模块的方式来解析通过static import or function-like dynamic import导入的ES模块。ES模块也有类似的东西吗?
例如,如果一个Vue包同时包含vue.runtime.common.js和vue.runtime.esm.js。我需要找到vue.runtime.esm.js的路径。如果包中没有,我想知道它。
发布于 2020-06-21 21:52:50
只要import.meta.resolve仍处于实验阶段,您就可以使用createRequire重新获得ES模块中的require.resolve功能,例如
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const pathName = require.resolve('vue.runtime.esm.js');发布于 2020-06-09 07:10:24
您可以使用import.meta.resolve()
下面是来自node docs的一个示例
(async () => {
const dependencyAsset = await import.meta.resolve('component-lib/asset.js');
})();请注意,从节点14.3.0开始,您需要传入--experimental-import-meta-resolve才能正常工作
https://stackoverflow.com/questions/54977743
复制相似问题