nodejs是否支持es6

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

nodejs是否支持es6

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

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

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

【es6语法支持】

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

ECMAScript 2015 (ES6) and beyond | Node.js

1.png

基于v8引擎

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

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

2.png

es6语法分级支持

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

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

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

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

3.png

【nodejs支持es6语法查询】

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

Node.js ES2015/ES6, ES2016 and ES2017 support 

4.png

【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
登录后复制

5.png

【基于es6开发nodejs npm包】

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

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

rollup.js

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

使用也比较简单

6.png

【总结】

1、开发nodejs业务

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

2、开发nodejs npm包

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

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

以上就是nodejs是否支持es6的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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