【发布时间】:2018-01-23 15:45:11
【问题描述】:
两者有什么区别:
import utils from 'utils'
和
import * as utils from 'utils'?
情况 A:
//utils.js
export function doSomething()
{
//...
}
情况 B:
//utils.js
export function doSomething()
{
//...
}
export default function doSomethingDefault()
{
//...
}
更新:
我被 vscode 的智能感知功能误导了,但根据建议,在 node+babel 上进行的小测试显示了差异:
//index.js
import utilsCaseA from './utils1'
import * as utilsCaseAWildcard from './utils1'
var utilsCaseARequire = require('./utils1')
import utilsCaseB from './utils2'
import * as utilsCaseBWildcard from './utils2'
var utilsCaseBRequire = require('./utils2')
var compareObjects =
{
utilsCaseA, utilsCaseAWildcard, utilsCaseARequire,utilsCaseB,utilsCaseBWildcard,utilsCaseBRequire
};
console.log(compareObjects);
【问题讨论】:
-
当然可以。试试
console.log(utils)看看有什么不同。 -
我刚刚调整了我的问题,请看一下。我看不出“案例A”有什么不同。我错过了什么吗?
-
不过,看看
utils的样子。是的,有区别! -
你是对的,Case A 的默认导入是未定义的。我被 vscode 的智能感知误导了。谢谢!
标签: javascript ecmascript-6 es6-modules