Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js计划支持导入/导出ES6(ECMAScript 2015)模块_Javascript_Node.js_Module_Ecmascript 6_Es6 Modules - Fatal编程技术网

Javascript Node.js计划支持导入/导出ES6(ECMAScript 2015)模块

Javascript Node.js计划支持导入/导出ES6(ECMAScript 2015)模块,javascript,node.js,module,ecmascript-6,es6-modules,Javascript,Node.js,Module,Ecmascript 6,Es6 Modules,我已经在互联网上找遍了,没有一个明确的答案 目前Node.js仅使用语法加载模块,如果您真的想使用标准ECMAScript 2015模块语法,您必须事先对其进行传输,或者在运行时使用外部模块加载器 目前我对使用这两种方法都不太乐观,Node.js维护人员是否计划支持ECMAScript 2015模块?关于这件事,我还没有找到任何暗示 目前Node.js 6.x声称支持96%的ECMAScript 2015功能,但没有提及模块() 您知道Node.js在不久的将来是否会支持这些现成的模块吗?Nod

我已经在互联网上找遍了,没有一个明确的答案

目前Node.js仅使用语法加载模块,如果您真的想使用标准ECMAScript 2015模块语法,您必须事先对其进行传输,或者在运行时使用外部模块加载器

目前我对使用这两种方法都不太乐观,Node.js维护人员是否计划支持ECMAScript 2015模块?关于这件事,我还没有找到任何暗示

目前Node.js 6.x声称支持96%的ECMAScript 2015功能,但没有提及模块()


您知道Node.js在不久的将来是否会支持这些现成的模块吗?

Node.js 13.2.0及以上版本


现在支持不带标志的ES模块,谷歌搜索
节点es2015模块
,显示以下结果之一:。就个人而言,我会投票以“太本地化”结束此问题,但关闭原因不再存在。假设Node明天能够实现ES6模块。那么,你是否打算删除你的问题,因为它不再相关了?或者你至少会更新它吗?我认为一个问题不适合你,所以如果你已经知道它将过时或需要“很快”更新。但这只是我的观点,似乎还有其他人持相反的观点,这对我来说是可以的:)(fwiw,这个问题本身当然很重要,也很有趣)不过,我希望在堆栈宇宙中有这样的问题存在。从技术上讲,它可能不适合这里,但我不知道我是否同意它真的是“基于意见的”。OP正在寻找一个特定问题的具体答案,但这个答案(在某个时候)会过时。这个问题的另一个措辞是:“node.js对ES6模块的支持情况如何?”许多问题的答案会随着技术的发展而变化。我也很难找到答案,直到我来到这里。@FelixKling我想你想结束这个问题是一个非常错误的决定,因为这是一个问题,迄今为止有211人被发现有足够的问题去投票。关于
.mjs
扩展:
我们亲切地称之为“迈克尔·杰克逊脚本”过去的文件
。以防在JS对话中听到有人谈论流行歌手。我不明白为什么更改导入语法是不够的。一种用于导入es的语法(“正确”语法)和一种用于导入CJ的语法?换句话说,给定两个文件foo.js和bar.js,
import*from'foo'
将foo.js视为CommonJS
import*as bar from'bar'
将bar.js视为ES6模块,有人能解释一下吗?@CoreyAlix语法通常不会为了支持环境而改变。这实际上只会影响节点。而且,语法有点不直观。我如何使用您建议的语法访问导出?要清楚,这不是“我的”建议,我正在复制typescript已经在做的事情。为了回答您的问题,您可以使用“bar”访问导出:bar.foobar()import{foo as foo}from.“/foo”是标识ES6模块的机制。var Foo=require(“./Foo”)是识别CJS模块的机制。在Typescript中,commonjs输出如下所示:var mod1_1=require(“./mod1”);exports.mod1=mod1;ES6输出如下所示:从“/mod1”导入{mod1};export{mod1}@Mikhail这只是重命名一个文件。此外,如果文件是
file.mjs
,则从“/file”导入依赖项将起作用。大多数模块开发人员最终将迁移到ESModules,因为它们提供了一些重要的好处。