import * as 和 import { default as } 之间的区别

Difference between import * as & import { default as }

我有以下导入:

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

VS

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

我的服务是这样导出的

module.exports = {

    init(store) {
         _store = store;
    },

    beginPayment() {
    }

};

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

这些有什么区别?一个比另一个更受欢迎吗?

如果这是重复的,我深表歉意,我没有在 SO 或 Google 上找到任何特定于我的示例的内容。

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

一般来说,社区目前似乎对默认导出持谨慎态度,因为它们似乎不​​太容易被发现(我没有具体引用,但我看过对话! )

如果你在团队中工作,他们说什么当然是正确答案!

所以没有默认值,你需要使用:

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

或选择一个特定的东西:

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