用习惯了React中用Babel预编译,import语法特别好用. 但是写后端nodejs不支持import语法… 导致一些通用脚本要重新改写,烦呀. 知道的说一下, node 6和7都不支持. 后端用babel的话不好调试
目前最新的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 应该怎么实现
是前端还是后端,如果是前端可以直接用webpack
@Binaryify import的确基本上等同于require的一个子集。但是import的好处是完全静态加载,可以在执行前就分析出所有依赖从而可以让webpack这类的工具可以进行tree shaking剥离掉无用的代码进行优化
3个点的操作符也不支持,这更分裂了.
看了下官方说明,说是V8引擎支持import时就可以让node支持了. 2017年中,(秋季) ca,侯年马月了都.
node 8.x 基本不要想了 预计9.x 能通过flag启用 10正式支持
@ilovedesert001 Dynamic import https://github.com/tc39/proposal-dynamic-import
@m31271n 这个用法和require 似乎没有什么区别啊
@ilovedesert001 还是有区别的,一个是异步,一个是同步的
让我BB下… 为什么不支持的语法, 编辑器总是 自动插入的 不能换一种码…
这就是我后端暂时还不用nodejs的原因
nodejs commonjs和 es6的 模块化方案不太一样的.不光是语法上.一个动态一个静态.
node --experimental-modules
可以支持import 语法
实在不行 改这个
var {write,read}=require(“fs”)
买珠还椟啊。 仅仅为了个人洁癖,非要统一没有特别好处的语法,而不顾服务端的稳定性等问题,真是无语。。。