如下面的代码所示,为什么'Parent1.js中的导入父不工作?为什么snippet2正确导入A,但snippet1不导入?
根据我的理解,导出应该等于module.exports,所以snippet1应该可以工作......
snippet1:
// Parent1.js
var a = exports.a = 1;
//index.js
import Parent from 'Parent1.js' // Not working
import * as Parent from 'Parent1.js' // Worked!
snippets2:
// Parent1.js
module.exports = {a:1}
//index.js
import Parent from 'Parent1.js' // Worked
答案 0 :(得分:0)
您在这里使用带有import
语句的ES6语法。在snippet1
import Parent from 'Parent1.js'
工作时,您需要使用export default a
。这将使a
唯一从Parent1.js
导出的内容。此外,每当您在Parent
中调用snippet1
时,您都会获得a
的结果。
通过执行import * as Parent from Parent1.js
,您将收集可能已导出到集合中的任何内容并将其命名为Parent
。要访问a
,请将其称为Parent.a
。此处Parent
表示集合,而上面Parent
是a
的别名。