process官方給出的解釋是:process 對(duì)象是一個(gè)全局變量胆胰,它提供有關(guān)當(dāng)前 Node.js 進(jìn)程的信息并對(duì)其進(jìn)行控制感昼。 作為一個(gè)全局變量坛悉,它始終可供 Node.js 應(yīng)用程序使用,無需使用 require()台颠。
最近項(xiàng)目中有一個(gè)需求就是展示圖片褐望,但圖片服務(wù)器時(shí)另外一個(gè),也就是說我展示圖片的時(shí)候我要拼上另外一個(gè)服務(wù)器的地址串前。
這個(gè)時(shí)候肯定想到在dev.js中配置圖片服務(wù)器地址瘫里,和其他一樣
module.exports = {
NODE_ENV: "'development'",
ENV_CONFIG: "dev",
BASE_API: "'http://192.168.0.6:8765'",
IMAGE_API: "http://192.168.0.6:8082"
};
這個(gè)時(shí)候使用,卻用不了
console.log(process.env. IMAGE_API);
報(bào)錯(cuò)如下:
看了很多資料都無法理解為什么報(bào)這個(gè)錯(cuò)
然后我嘗試打印process.env
console.log(process.env);
報(bào)錯(cuò)包的更看不懂了
Vue warn]: Error in data(): "ReferenceError: dev is not defined"
我再嘗試打印process
可以打印的荡碾,但是env時(shí)空的
又開始各種百度啊谨读,google啊,無解
然后我突然想起來坛吁,頁(yè)面的請(qǐng)求時(shí)正常的劳殖,但是請(qǐng)求用到了process.env.BASE_API
我又嘗試打印BASE_API,發(fā)現(xiàn)竟然可以
這個(gè)時(shí)候我就郁悶了拨脉,我就開始一個(gè)字一個(gè)字的對(duì)配置文件
發(fā)現(xiàn)IMAGE_API和ENV_CONFIG都少了一個(gè)單引號(hào)
加上
module.exports = {
NODE_ENV: "'development'",
ENV_CONFIG: "'dev'",
BASE_API: "'http://192.168.0.6:8765'",
IMAGE_API: "'http://192.168.0.6:8082'"
};
嘗試打印
console.log(process);
console.log(process.env);
console.log(process.env.IMAGE_API);
很完美
但是有一個(gè)疑惑就是為什么process下的env仍然是空的
直接打印process.env是有值的哆姻,這個(gè)很奇怪,我還沒有找到原因玫膀。找到原因再來補(bǔ)充吧