首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESModules [对象模块]如何创建模块的实例?

ESModules [对象模块]如何创建模块的实例?
EN

Stack Overflow用户
提问于 2020-07-01 21:53:38
回答 1查看 68关注 0票数 1

我有一个关于JavaScript ESModules的问题。

代码语言:javascript
复制
import project from './project.js';
console.log(Object.prototype.toString.call(project));
// [object Object]
代码语言:javascript
复制
import * as project from './project.js';
console.log(Object.prototype.toString.call(project));
// [object Module]

示例项目

https://github.com/standard-software/parts-Node_Deno_ProjectTemplate/blob/v1.2.0/Backup/project04/test/test_source_3.js

我想做克隆或cloneDeep模块。

我正在制作包含Parts.js / cloneDeep的库克隆。使用cloneFunction.cloneObject

https://github.com/standard-software/partsjs/blob/v6.3.0/source/root/clone.js#L46

代码语言:javascript
复制
const projectClone = clone(project);
// isObject(project) === true -> no problem
// isModule(project) === true -> problem. I cant do clone.

属性复制是没有问题的。我不能创建新的实例模块(像这样的对象)。

代码语言:javascript
复制
const projectClone = new Module() // this is error.

如何创建新的实例模块?

EN

回答 1

Stack Overflow用户

发布于 2020-07-01 22:03:44

它是否应该如下所示?您需要将Module定义为导入语句的一部分。

代码语言:javascript
复制
import * as Module from './project.js';
const projectClone = new Module();

或者,相反地:

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62678439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档