高手们写的node代码都是怎样的优美?
 发布于 11 年前  作者 jesseky  6298 次预览  最后一次回复是 11 年前  来自 问答 

比如我菜鸟写成这样:

var exec = require(‘child_process’).exec; var sprintf = require(‘sprintf-js’).sprintf; var http = require(‘http’); var https = require(‘https’); var url = require(‘url’); var fs = require(‘fs’);

然后就发现 全局变量太多了,尤其是 url 这样的,很容易在后续的代码里 定义一个变量 var url = ‘http://www.baidu.com’ ; 然后代码就蹦掉了,我还查了半天才知道问题出在哪里。 当然,所有node的教程都是这么叫大家写这样随意的代码的,这样的代码肯定无法做大规模的工程吧?

可是一些系统的暴露的全局变量比如 process,比如 console 这样,为什么不用一个统一的全局变量比如 NODE.process, NODE.console ? 请教一下高手们优美的代码都是怎么样的?

12 回复
119786155

楼主的代码挺优美的

coolicer

用IDE吧,会提示重复定义

billtt

可以多看看GitHub上的代码 恩

afc163

不用 global 的话,node 里哪有全局变量?var 出来的都是模块内的局部变量。

TossShinHwa

很少一个module会依赖这么多组件.

yaochun

@afc163 哈哈,简单明了

MiguelValentine

高手不都是

var a =xxx var b =xxx …… var af =xxx …… var zzz =xxx (第26x26x26个函数)

(:з」∠) 我就是来卖个萌

MiguelValentine

关于process,是抽象汇编解释器的线程。底层是C? (function(process){ var global = this; …… })() 这个是NODE的启动。

duoduoyi

var _g={}; _g.exec =… _g.sprintf =… _g.url =…

或者命名上区分下就是了 var globalExec =… var globalSprintf =… var globalUrl =…

alsotang

sublime 装个 jshint 可以避免不少低级错误

denghongcai

@MiguelValentine 抽象汇编解释器是什么鬼……