在寫 nodejs 服務端代碼時,我們常涉及到定義監聽端口號、最大連接數、時間限制等等配置。我們當然可以把這些配置直接寫在 js 代碼里,為什么要提取到 json 文件呢?
難道僅因為它們“看起來像”配置項,我們就把它們提取到 json 文件單獨管理嗎?如果僅因為這樣,那就有點牽強了。我們來考慮一下這樣的情景,當部署到線上時,一台機器需要部署兩個甚至更多的實例,是的,因為 nodejs 能使用的內存作了限制(64位為1.4GB,32位為0.7GB)。那么,我們就需要監聽不同端口號!那么把其它常見的配置提出來統一管理,既讓代碼整潔,又方便部署和管理,何樂而不為呢。
1,首先來看一下 json 文件(eg: project.json)
1 { 2 "port" : "9527", 3 "MAX_CONNECTIONS" : "6000" 4 }
這里只是作一個示例,實際 json 文件可能復雜得多。
2,node 中 js 怎么讀取 json 文件
var project = JSON.parse(fs.readFileSync(path.join(__dirname,'project.json'), 'utf8'));
思路就是引入 node 的 fs 模塊,調用同步讀取文件的函數,然后傳入 js 的 JSON.parse() 函數,得到的 project 對象或對象數組,接着就可以用 project.MAX_CONNECTIONS 的語法操作 json 里的配置項,over。