Import语句返回未定义的模块成员
import statement returns module member as undefined
Module (./lib/myModule.js
):
const X = 10;
export default { X }
主模块(./index.js
):
案例1:
import { X } from './lib/myModule'
console.log(X) // undefined
案例2:
import myModule from './lib/myModule'
const { X } = myModule;
console.log(myModule.X) // 10
console.log(X) // 10
为什么使用对象匹配表示法返回X
为未定义并导入完整对象的成员保持他的值?第一种情况有什么问题?
我使用Babel转换ES 6代码与preset-es2015
。
这是因为import语句没有使用解构赋值。在第一种情况下,您试图导入未导出的成员X
。在第二种情况下,您导入默认成员,然后使用解构赋值从中提取X
。
console.log()
行转换为:
console.log(_myModule.X); // undefined
而在第二种情况下,你得到这个:
console.log(_myModule2.default.X);
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- Node.js正在更改应用程序以使用集群模块
- 在Meteor项目中安装并包含npm模块后出错
- 模块模式和这个
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 找不到模块捆绑包
- JavaScript命名约定;静态“;类或模块
- Typescript模块没有导出的成员-react
- 显示模块模式中的私有成员
- 使用requirejs对延迟加载成员模块进行Typescript
- 推荐在 javascript 模块中限定私有成员范围的方法
- 在dojo模块中引用父级的JSON/javascript成员函数
- Import语句返回未定义的模块成员
- Javascript:揭示模块模式.访问私有成员