Home  >  Article  >  Web Front-end  >  Does nodejs support es6?

Does nodejs support es6?

青灯夜游
青灯夜游Original
2022-10-18 18:38:503047browse

nodejs支持es6。Node.js是针对现代版本的V8构建的,它与V8引擎的最新版本是保持同步的,能及时将JavaScript ECMA-262规范中的新功能提供给Node.js开发人员,并持续改进性能和稳定性;也就是说,node支持es6相关语法,并且会不断迭代和优化性能。

Does nodejs support es6?

本教程操作环境:windows7系统、ECMAScript 6&&nodejs16版、Dell G3电脑。

nodejs是否支持es6语法呢,网上搜索大部分答案是要基于babel转一下才能支持,

其实目前nodejs的版本已经支持了es6语法了

【es6语法支持】

在nodejs官网可以看到关于es6支持的介绍,

ECMAScript 2015 (ES6) and beyond | Node.js

Does nodejs support es6?

基于v8引擎

Node.js 是针对现代版本的V8构建的。通过与该引擎的最新版本保持同步,我们确保及时将JavaScript ECMA-262 规范中的新功能提供给 Node.js 开发人员,并持续改进性能和稳定性。

所以支持es6相关语法,并且会不断迭代和优化性能.

Does nodejs support es6?

es6语法分级支持

es6语法分级,包括shipping,staged,in progress这几种级别,

shipping级别的语法,在nodejs上默认支持

staged级别的语法,在nodejs需要通过参数支持,--harmony

in progress级别的语法,建议不要使用

Does nodejs support es6?

【nodejs支持es6语法查询】

在下面这个网站可以方便的查询到nodejs支持的es6语法

Node.js ES2015/ES6, ES2016 and ES2017 support 

Does nodejs support es6?

【es6 modules的支持】

nodejs原本支持commonjs的模块化规范,就是require这类型的

如果想要使用es6 export import的模块化规范,需要怎么做呢

可以参考这里:Modules: ECMAScript modules | Node.js v16.14.2 Documentation

启用的方式:将文件修改为mjs后缀,或者修改package.json中的type值

需检查是否满足以下条件:

1、确保安装了 v14.15.1 或更高版本的 node.js

2、命令初始化 package.json

npm init -y

3、在 package.json 的根节点中添加 

"type":"module",

在完成以上动作后,就可以在 VS Code 的终端里执行类似以下命令:

node .\02.默认导入.js

Does nodejs support es6?

【基于es6开发nodejs npm包】

还有一种场景是要开发nodejs环境使用的npm包,但是想用es6语法,包括es6的模块化

而使用上述mjs的方式不是很方便,解决方案是使用rollup这个打包工具

rollup.js

通过rollup可以方便的将es6写的npm包到处为commonjs的规范

使用也比较简单

Does nodejs support es6?

【总结】

1、开发nodejs业务

开发nodejs业务,可以直接使用es6语法+commonjs的模块化

2、开发nodejs npm包

开发nodejs npm包,可以使用es6语法写npm包源码,然后使用rollup导出为commonjs规范的包,然后发布

更多node相关知识,请访问:nodejs 教程

The above is the detailed content of Does nodejs support es6?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn