node有一個特殊內置環境變量:NODE_ENV,能夠從process.env.NODE_ENV中讀取到。 當運行npm xx的時候,實際上是執行了一個sh命令,去運行不一樣的配置文件,而不一樣的配置文件都會去指定本身的NODE_ENV,從而區分是生成環境仍是開發環境。 例如: 文件結構node
在package.json中,scripts配置了不一樣的命令最終執行的是哪一個文件: 若是運行npm run build, 就會找到build/build.js去運行這個文件,文件內容: 由此指定環境變量。 其餘命令同理,當你運行 npm start 時,NODE_ENV就是'development' ,當你運行 npm test ,NODE_ENV就是 ‘test’。