我正在尝试将代码从es5迁移到es6,我在这两个方面都很新,如果有人能帮助我,我将非常感谢。
es5版本:
lib.js
module.exports = {
foo1: function () {
this.foo2() {
...
}
},
foo2: function () {
...
}
}main.js
const Lib = require("./lib");
Lib.foo1( { ... });es6版本-我正在尝试:
lib.ts
export default {
foo1() {
this.foo2(() => {
...
});
},
foo2(){ ... }
}main.ts
import * as Lib from "./lib";
Lib.foo1({ ... })问题是在我的main.ts foo1无法解决。有什么主意或建议吗?
谢谢!
发布于 2017-05-09 09:53:06
应该是公正的
import Lib from "./lib";否则,如果使用* as表示法,可以使用Lib.default访问default导出,但这是不必要的。
发布于 2017-05-09 10:19:42
我不理解您代码的以下部分:
foo1: function () {
this.foo2() {
...
}
}这似乎是无效的。
无论如何,不要引入您自己的伪模块,比如结构。这没必要。lib.js已经是一个模块了。
lib.js
export function foo1() {
foo2();
}
export function foo2() { ... }main.js
import {foo, foo2} from './lib';https://stackoverflow.com/questions/43866547
复制相似问题