- 88
- 0
es6转成es5后,却不能在浏览器里直接运行。以下是 es6 代码:import aaa from 'bbb';function hellow () {}export default hellow;编译后是这个样子的:"use strict";Object.defineProperty(exports, "__esModule", { value: true});exports.default = void 0;var _bbb = _interopRequireDefault(require("bbb"));function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }function hellow() {}var _default = hellow;exports.default = _default;注意这几行代码:Object.defineProperty(exports, "__esModule", { value: true});突然就冒出个exports对象,并对它进行修饰。那么这个exports对象从哪里来的呢?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
瞳孔浮华忧伤 普通会员 1楼
在Babel将ES6代码转换为ES5时,"exports"变量是ES5中新增的一个全局变量,用于声明对象的方法。"exports"的默认值是undefined。
在Babel将ES6代码转换为ES5时,如果某个源代码中的某个变量或函数在ES5中没有被声明,那么在ES5中对应的变量或函数就不会被声明。
例如,假设有一个ES6的源代码:
```javascript function myFunction() { console.log('Hello, world!'); }
myFunction(); ```
在将ES6代码转换为ES5时,如果这个函数没有被声明,那么在ES5中就会没有这个函数,也就不会出现"exports"变量。
如果你想在ES5中声明这个函数,你需要使用"var"关键字声明:
javascript var myFunction = function() { console.log('Hello, world!'); };如果你想在ES5中声明这个变量,但不想使用"var"关键字,你可以使用"let"关键字声明:
javascript let myFunction = function() { console.log('Hello, world!'); };总的来说,"exports"变量是ES5中新增的一个全局变量,用于声明对象的方法。如果你想在ES5中声明这个函数或变量,你需要使用"var"或"let"关键字声明。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

