将 IIFE 格式的函数导出到 ES6 模块
Exporting IIFE formated function to ES6 Module
在模块/IIFE 等方面遇到了一些麻烦。我有一个脚本,它曾经是一个 IIFE,并且使用了很多这个关键字等。我正在尝试将它变成一个模块。
我有以下模块dice.js:
export default function () {
this.createDice = function() { ... }
...
}
在主APP上我称之为:
import Dice from "./dice.js";
let DICE = new Dice();
let dice1 = DICE.createDice();
let dice2 = DICE.createDice();
它有效...我的问题是,有没有办法避免创建额外的 DICE 变量来调用所有方法?换句话说,我想这样称呼它:
import Dice from "./dice.js";
let dice1 = Dice.createDice();
let dice2 = Dice.createDice();
我试过使用 IIFE,但做不好。
在 IIFE 中你会做
export default (function () {
function Dice() {
this.createDice = function() { ... }
...
}
return new Dice();
})()
但真的,就这样做
function Dice() {
this.createDice = function() { ... }
...
}
export default new Dice();
在模块/IIFE 等方面遇到了一些麻烦。我有一个脚本,它曾经是一个 IIFE,并且使用了很多这个关键字等。我正在尝试将它变成一个模块。
我有以下模块dice.js:
export default function () {
this.createDice = function() { ... }
...
}
在主APP上我称之为:
import Dice from "./dice.js";
let DICE = new Dice();
let dice1 = DICE.createDice();
let dice2 = DICE.createDice();
它有效...我的问题是,有没有办法避免创建额外的 DICE 变量来调用所有方法?换句话说,我想这样称呼它:
import Dice from "./dice.js";
let dice1 = Dice.createDice();
let dice2 = Dice.createDice();
我试过使用 IIFE,但做不好。
在 IIFE 中你会做
export default (function () {
function Dice() {
this.createDice = function() { ... }
...
}
return new Dice();
})()
但真的,就这样做
function Dice() {
this.createDice = function() { ... }
...
}
export default new Dice();