我有一个关于JavaScript ESModules的问题。
import project from './project.js';
console.log(Object.prototype.toString.call(project));
// [object Object]import * as project from './project.js';
console.log(Object.prototype.toString.call(project));
// [object Module]示例项目
我想做克隆或cloneDeep模块。
我正在制作包含Parts.js / cloneDeep的库克隆。使用cloneFunction.cloneObject
https://github.com/standard-software/partsjs/blob/v6.3.0/source/root/clone.js#L46
const projectClone = clone(project);
// isObject(project) === true -> no problem
// isModule(project) === true -> problem. I cant do clone.属性复制是没有问题的。我不能创建新的实例模块(像这样的对象)。
const projectClone = new Module() // this is error.如何创建新的实例模块?
发布于 2020-07-01 22:03:44
它是否应该如下所示?您需要将Module定义为导入语句的一部分。
import * as Module from './project.js';
const projectClone = new Module();或者,相反地:
import * as Project from './project.js';
const projectClone = new Project();相关:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#Creating_a_module_object
https://stackoverflow.com/questions/62678439
复制相似问题