import语法什么时候开始支持呀? 分裂了都
发布于 7 年前 作者 youwi 10243 次浏览 来自 问答

用习惯了React中用Babel预编译,import语法特别好用. 但是写后端nodejs不支持import语法… 导致一些通用脚本要重新改写,烦呀. 知道的说一下, node 6和7都不支持. 后端用babel的话不好调试

21 回复

目前最新的node版本依旧不支持 import exoprt 只能 wait 了

能请教下具体说说import语法特别好用的地方吗

开发的时候用babel-register啊,生成环境在用babel编译后的了

说实话 import 并没有 require 好用

@Binaryify import更便于静态分析,require则是一个纯粹的函数,相当灵活。

@alsotang 但是,没有 import 你可以用 require 代替, 没有 req 某些场景下根本没法用 improt 替换的吧。

@ilovedesert001 是这样的。import的适用范围是比require小,不过我猜应该是通过改变编码逻辑达到同样效果的吧?有什么只有require能解决的场景吗?

@alsotang 比如这个

循环读文件,动态require() 来 自动完成(注册控制器) 一些事件的,我不知道 import 应该怎么实现

untitled1.png

是前端还是后端,如果是前端可以直接用webpack

@Binaryify import的确基本上等同于require的一个子集。但是import的好处是完全静态加载,可以在执行前就分析出所有依赖从而可以让webpack这类的工具可以进行tree shaking剥离掉无用的代码进行优化

3个点的操作符也不支持,这更分裂了.

看了下官方说明,说是V8引擎支持import时就可以让node支持了. 2017年中,(秋季) ca,侯年马月了都.

node 8.x 基本不要想了 预计9.x 能通过flag启用 10正式支持

@m31271n 这个用法和require 似乎没有什么区别啊

@ilovedesert001 还是有区别的,一个是异步,一个是同步的

让我BB下… 为什么不支持的语法, 编辑器总是 自动插入的 不能换一种码…

这就是我后端暂时还不用nodejs的原因

nodejs commonjs和 es6的 模块化方案不太一样的.不光是语法上.一个动态一个静态.

node --experimental-modules
可以支持import 语法
实在不行 改这个 var {write,read}=require(“fs”)

买珠还椟啊。 仅仅为了个人洁癖,非要统一没有特别好处的语法,而不顾服务端的稳定性等问题,真是无语。。。

回到顶部