使用嵌套类在ES6中模拟名称空间

山姆

我有一个文件,Services.js试图将所有单独的服务加载到其中。这些文件显示为单例。

Services.js

var Services = { };

export default Services;

然后,我想将Sample Service嵌套在Services下,因此可以调用例如 Services.Sample.Operation()

`SampleService.js'

import Services from './Services';

Services.Sample = {

    Operation: function() {
        alert('operation!') 
    }
};

export default Services.Sample;

然后,我尝试导入:

import Services from './services/Services';
import SampleService from './services/SampleService';

alert(Services);         // yields '[object object]'
alert(SampleService);    // yields '[object object]'
alert(Services.Sample);  // yields 'undefined' <--- This is the one I actually want to use

我如何获得它,所以我可以参考Services.Sample而不是tan SampleService。如何使SampleService嵌套在服务下?

劳拉

你的方式不起作用,因为您要导入Services.jsSampleService.js,但Services变量不是“原始”Services的变量Services.js

我要做的是这样的:

SampleService.js

SampleService = {

    Operation: function() {
        alert('operation!') 
    }
};

export default SampleService;

Services.js

import SampleService from './SampleService';

var Services = { };
Services.Sample = SampleService;

export default Services;

接着:

import Services from './services/Services';

alert(Services);         
alert(Services.Sample);

export default Services;

但这似乎也更有意义,我就基本(中)的依赖和你的模块(定义什么的一致性,Services可以做到在Services.jsSampleService.jsSampleService可能是独立的Services,模块加载Services.js不应该依赖SampleService.js以及可能以后更改。 ..)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

从库中模拟ES6类

来自分类Dev

从库中模拟ES6类

来自分类Dev

使用 ReactJS 在 ES6 类中嵌套“this”绑定

来自分类Dev

嵌套的ES6类?

来自分类Dev

用TypeScript在Jest中模拟ES6类方法

来自分类Dev

使用(ES6)计算的属性名称更新嵌套对象

来自分类Dev

ES6模块的名称空间

来自分类Dev

模拟ES6 BigQuery类

来自分类Dev

在ES6中使用动态名称创建类的实例?

来自分类Dev

在ES6中使用动态名称创建类的实例?

来自分类Dev

以不同的名称导入ES6类

来自分类Dev

如何使用 __mocks__ 文件夹中的模拟文件在 ES6 类中手动模拟方法?

来自分类Dev

在带有多个文件的ES6模块中创建名称空间。馊主意?

来自分类Dev

如何在全局范围内使用ES6模块代替名称空间?

来自分类Dev

如何模拟在类中传递 ES6 其余参数

来自分类Dev

如何使用react-router和ES6类模拟window.location

来自分类Dev

ES6名称空间导入:“ this”的行为

来自分类Dev

ES6名称空间导入:“ this”的行为

来自分类Dev

ES6类中的受保护属性(使用Symbols?)

来自分类Dev

使用导入的类在ES6中返回空承诺

来自分类Dev

使用ES6类的React Component中的此对象

来自分类Dev

如何处理React嵌套组件循环依赖关系?(使用es6类)

来自分类Dev

使用名称空间访问扩展类中的$ this

来自分类Dev

ES6类文字中的IIFE

来自分类Dev

ES6类中的成员变量

来自分类Dev

在es6中克隆类

来自分类Dev

es6类方法中的“ this”

来自分类Dev

在ES6中扩展String类

来自分类Dev

在ES6中扩展String类