V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ghostgril
V2EX  ›  Node.js

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

  •  
  •   ghostgril · 2018-03-09 10:56:01 +08:00 · 5555 次点击
    这是一个创建于 2480 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在学习 es6 的模块加载中,看到说 node 的模块和 es6 的模块是不兼容的?但是我在 nodejs 创建的 vue 应用里面使用 es6 的模块加载却没有问题。。。那么 node 和 es6 的不兼容指的是什么呢
    9 条回复    2018-03-09 17:16:20 +08:00
    VDimos
        1
    VDimos  
       2018-03-09 11:08:07 +08:00 via Android
    nodejs 以前是使用的 commonjs 作为自己的模块儿机制,es6 提出了 import 的方法,这两者不兼容。vue 使用 es6 模块是因为它用了 webpack 打包,或者说你的目标浏览器目前已经支持了 es6 语法
    ghostgril
        2
    ghostgril  
    OP
       2018-03-09 11:09:15 +08:00
    @VDimos 是不是在使用了 import 或者 export 的文件里面就不能再使用 require 和 module.export 呢
    zhengxiaowai
        3
    zhengxiaowai  
       2018-03-09 11:16:44 +08:00
    模块机制不兼容
    VDimos
        4
    VDimos  
       2018-03-09 11:22:05 +08:00 via Android
    @ghostgril 并不是,在 node 里面,目前已经支持了 import 语法,但是为了向后兼容,依然支持 require,可以一起使用。
    chairuosen
        5
    chairuosen  
       2018-03-09 11:24:57 +08:00
    export default 暴露的东西 require 时候要加.default
    raawaa
        6
    raawaa  
       2018-03-09 15:13:22 +08:00
    用了 webpack 了吧,webpack 会把 import 语句( es6 )转化成 require 语句( commonjs )
    2Go
        7
    2Go  
       2018-03-09 15:41:48 +08:00 via Android
    「不兼容」就是「不兹瓷」。如果你非要问我为啥不兹瓷,我的回答是无可奉告
    ghostgril
        8
    ghostgril  
    OP
       2018-03-09 16:38:52 +08:00
    @raawaa 原来如此
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   838 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:56 · PVG 04:56 · LAX 12:56 · JFK 15:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.