相关疑难解决方法(0)

创建新类与使用export const之间的差异

建立:

  • BabelJS(es2015,反应,阶段-1)
  • 的WebPack
  • React/redux

CommonJS和ES6的新功能.我知道对象实例和方法的静态容器之间的区别,但我不确定它们在分离到模块时的行为方式.所以我想知道返回一个实例之间的区别是什么(这个模式是否有效?):

// StateParser.js

class StateParser {
    constructor() {
     }

     method1() {
        ...
     }

}

export default new StateParser()
Run Code Online (Sandbox Code Playgroud)

并导出const方法:

// StateParser.js

let state = {
}

export const method1 = () => { ... }
Run Code Online (Sandbox Code Playgroud)
  1. 方法A:每次导入时都会有新的实例吗?
  2. 方法B:使用对象解构的能力之一是:

    import { method1 } from '../utils/StateParser.js';
    
    Run Code Online (Sandbox Code Playgroud)

    然后使用method1,就好像它存在于本地?

  3. 方法A:在构造函数中初始化状态的能力有哪些好处?

所以基本上我不确定何时使用哪个实用程序类,并希望您的输入.

commonjs ecmascript-6 reactjs babeljs

13
推荐指数
2
解决办法
1万
查看次数

为什么必须在ES2015中指定导出类型(let,var,const ...)?

因为我读这里,ES2015可以导出var,const,let,function,classdefault.

export var myVar1 = ...;
export let myVar2 = ...;
export const MY_CONST = ...;

export function myFunc() {
    ...
}
export function* myGeneratorFunc() {
    ...
}
export class MyClass {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么.在我的外行看来,应该有named exportsdefault exports.

您输出的类型似乎并不重要.我的意思是,当你export default,你指定类型?不,你没有,它的工作原理.此外,它还能有什么区别出口varlet?它有什么区别export const?导入模块时,无论如何它都是不可变的(AFAIK).

那么,为什么必须指定导出的类型?

javascript commonjs node-modules ecmascript-6 ecmascript-2015

5
推荐指数
2
解决办法
2598
查看次数

生成es6模块导出

我想以编程方式为模块生成导出,这在es6中是否可能?

这些方面的东西:

const ids = ['foo', 'bar', 'baz'];

ids.forEach(id => {
    export const [id.toUpperCase()] = id;
});
Run Code Online (Sandbox Code Playgroud)

javascript module ecmascript-6

2
推荐指数
1
解决办法
963
查看次数