es6 模块和 node 模块不兼容指的是?

2018-03-09 10:56:01 +08:00
 ghostgril
在学习 es6 的模块加载中,看到说 node 的模块和 es6 的模块是不兼容的?但是我在 nodejs 创建的 vue 应用里面使用 es6 的模块加载却没有问题。。。那么 node 和 es6 的不兼容指的是什么呢
5536 次点击
所在节点    Node.js
9 条回复
VDimos
2018-03-09 11:08:07 +08:00
nodejs 以前是使用的 commonjs 作为自己的模块儿机制,es6 提出了 import 的方法,这两者不兼容。vue 使用 es6 模块是因为它用了 webpack 打包,或者说你的目标浏览器目前已经支持了 es6 语法
ghostgril
2018-03-09 11:09:15 +08:00
@VDimos 是不是在使用了 import 或者 export 的文件里面就不能再使用 require 和 module.export 呢
zhengxiaowai
2018-03-09 11:16:44 +08:00
模块机制不兼容
VDimos
2018-03-09 11:22:05 +08:00
@ghostgril 并不是,在 node 里面,目前已经支持了 import 语法,但是为了向后兼容,依然支持 require,可以一起使用。
chairuosen
2018-03-09 11:24:57 +08:00
export default 暴露的东西 require 时候要加.default
raawaa
2018-03-09 15:13:22 +08:00
用了 webpack 了吧,webpack 会把 import 语句( es6 )转化成 require 语句( commonjs )
2Go
2018-03-09 15:41:48 +08:00
「不兼容」就是「不兹瓷」。如果你非要问我为啥不兹瓷,我的回答是无可奉告
ghostgril
2018-03-09 16:38:52 +08:00
@raawaa 原来如此
MinonHeart
2018-03-09 17:16:20 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/436437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX