像validator这种库,我只用一个其中一个函数,把包都引入会不会影响性能?
发布于 2 年前 作者 Alexis374 1552 次浏览 来自 问答

比如我只用到 validator.isAlpha,但在es5语法下,require的时候是把validator引入的,执行的是validator的所有代码。 es6的静态加载可以避免这个问题,但是好像node 6.x 恰好不支持es6的模块系统?

1 回复

个人认为影响的性能是极少的… 因为require是一般情况下一次性引入的…

require('fs') === require('fs'); // true

引入全部库虽然会占据系统更多的内存(就validator的函数量也不算很多), 引入时需要执行的代码也只需要运行一次… 对程序的性能影响是微乎其微的

Node6使用V8的5.0版本…并不支持import Node7使用5.1…ES6的特性是99%都支持了(除了尾调用优化需要开启harmony) 不过Node7目前还是nightly阶段…还是有点远的…

回到顶部