javascript – Der Ausgabewert des ES6-Modulladeexports ist etwas unklar
淡淡烟草味
淡淡烟草味 2017-07-05 10:53:10
0
3
871


Warum wird dieser Fehler gemeldet


Warum ist das in Ordnung? Welche Funktion haben diese geschweiften Klammern? Ist das die Syntax?

淡淡烟草味
淡淡烟草味

Antworte allen(3)
刘奇

在es6标准没出来之前,export啥,require就是啥。

以nodejs为例

// ./fk.js
export 'fk';

// ./main.js
var fk = require('./fk');
console.log(fk); // output "fk"

你看,这一点都不“模块化”,既然是模块导入进来就应该要有数值,有函数,有车有驴有火锅才行嘛。

那怎么办呢?
标注规定,导出的所有内容必须都有“名字”,你起个别名也可以,反正要有名字!

第一种起名字的方法

export var/let/const 名字=值

第二种起名字的方法

var/let/const 变量=值
export {变量} 或 export {变量 as 别名}

第三种起名字的方法

export default 值

第一张图里的第二个方法之所以报错,是因为你不用大括号括起来,在编译的时候m早就不知道叫什么了,不知道叫什么就没有名字,起不了名字就不能导出。

完。

typecho

看文档 export on MDN

一共就这么几种形式

export { name1, name2, …, nameN };
export { variable1 as name1, variable2 as name2, …, nameN };
export let name1, name2, …, nameN; // also var
export let name1 = …, name2 = …, …, nameN; // also var, const

export default expression;
export default function (…) { … } // also class, function*
export default function name1(…) { … } // also class, function*
export { name1 as default, … };

export * from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;

你写的两种形式都不包含在内……具体每种形式是什么意思,还是看文档去吧!

给我你的怀抱

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

这种问题直接阅读文档就行了。而且你这个图不是从阮一峰的文章里扒过来的?原文就有清晰的说明

需要特别注意的是,export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。

上面两种写法都会报错,因为没有提供对外的接口。第一种写法直接输出1,第二种写法通过变量m,还是直接输出1。1只是一个值,不是接口。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage