什么是nodejs中的import satement而不是require

时间:2016-01-01 19:11:16

标签: node.js requirejs gameclosure

我正在浏览this module,并使用import stament.ex找到了许多文件:this one。 任何人都可以告诉我import语句如何替换nodejs的standerd require语句以及它们是如何工作的?

编辑:  这不是重复,因为导入语法与ES6语法不同

1 个答案:

答案 0 :(得分:2)

import语句由js.io提供 - 存储库正在使用的模块系统。

从项目的自述文件中引用:

  

js.io是一个多平台的包管理和模块系统   JavaScript的。可以在JavaScript运行时中评估js.io模块   (例如node.js)或预编译到单个包中以供使用   客户方。

     

js.io提供以下内容:

     

模块系统。在客户端和。中工作的依赖关系图   浏览器。可以在任何一个上使用的支持和网络库   平台。

链接示例中的import语句不符合ES6规范。

MDN开始,ES6导入的语法遵循以下模式:

import name from "module-name";
import * as name from "module-name";
import { member } from "module-name";
import { member as alias } from "module-name";
import { member1 , member2 } from "module-name";
import { member1 , member2 as alias2 , [...] } from "module-name";
import defaultMember, { member [ , [...] ] } from "module-name";
import defaultMember, * as alias from "module-name";
import defaultMember from "module-name";
import "module-name";

根据上述规则,使用import AudioManager as exports;不是有效用法。

如果用ES6模块确认是该项目的目标,我无法从js.io的自述文件中推断出来。