import * as和import {默认为}

时间:2018-11-20 15:58:43

标签: javascript ecmascript-6 import ecmascript-5

我有以下进口商品:

import { default as service } from "../service";

VS

import * as service from "../service";

我的服务就这样导出

module.exports = {

    init(store) {
         _store = store;
    },

    beginPayment() {
    }

};

我希望只有第二次导入才可以工作,因为没有默认的导出,但是两者似乎都可以。

两者之间有什么区别?是一个比另一个更好的选择吗?

如果这很抱歉,我在SO或Google上找不到与我的示例有关的任何内容。

1 个答案:

答案 0 :(得分:3)

如果要导入默认值,则必须有一个默认值。

总体上,社区现在对默认出口感到警惕,因为它们似乎不太容易被发现(我没有明确的引用,但我已经看过对话了!)

如果您在团队中工作,那么他们的回答当然是正确的答案!

因此,没有默认设置,您需要使用:

import * as service from "../service";

或选择特定内容:

import { specificNamedThing } from "../service";