javascript - es6 export问题
迷茫
迷茫 2017-04-10 17:41:16
[JavaScript讨论组]
// 报错
export 1;

// 报错
var m = 1;
export m;

// 写法一
export var m = 1;

// 写法二
var m = 1;
export {m};

// 写法三
var n = 1;
export {n as m};

原文:上面两种写法会报错,因为没有提供对外的接口。
请问什么叫没有提供对外的接口,为什么加{}就算接口了?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
PHPz

JS是基于对象的语言,而模块即对象(符合AMD或者CMD标准的),是需要引用的模块返回一个对象的。因此加了{}的区块被对象话,则可以作为对象引入了。

黄舟

前面两个例子的错误是"SyntaxError: Unexpected token export",翻成中文是"语法错误: 不预期的符号于export"。我是不知道"没有提供对外的接口"的报错是在何处来的?是在import的时候的错误吗?

{}是export的语法标准,与对象无关,这是ExportClause,也就是语句中的子句写法,其中可以包含多个要汇出的变量。基本上有三种导出语句如下,但其中又分为多个细部选项。

// 导出一个脚本中已存在的函数/变量
export { myFunction }; 

 // 导出一个变量声明
export var foo = 2;

// 默认导出 (每个脚本只能有一个):
export default myFunctionOrClass // 或者 'export default class {}'

上面的例子来自以下参考站:

  • https://developer.mozilla.org...

  • http://www.ecma-international...

黄舟

ES6模块加载的实质

大兄弟,看书要仔细啊。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号