鍍金池/ 問答/HTML/ 怎么才能判斷vue當前運行的是什么環(huán)境呢如果沒有*.env.js文件?

怎么才能判斷vue當前運行的是什么環(huán)境呢如果沒有*.env.js文件?

在我的Vue項目中,這里沒有,dev.env.jsprod.env.js文件。

這里只有webpack.base.config.js, webpack.dev.config.jswebpack.prod.config.js文件:

圖片描述

那么現(xiàn)在我應(yīng)該怎么才能判斷vue當前運行的是什么環(huán)境呢?

回答
編輯回答
真難過

一樣的啊。dev 表示開發(fā)環(huán)境配置,prod
看這個吧Webpack 配置詳解(含 4)——關(guān)注細節(jié)

如果我們需要在 webpack 中判斷當前環(huán)境,還需要單獨的設(shè)置 process.env.NODE_ENV = 'production',這也是我們在對應(yīng)配置文件中第一行做的事情。需要在 業(yè)務(wù)代碼(vue)部分判斷需要配合new webpack.DefinePlugin插件
2017年6月30日 03:14
編輯回答
近義詞

不太理解你的問題描述。單看你的問題標題,你應(yīng)該理解一下環(huán)境變量跟 webpack 以及 Vue、項目中的 js 是怎么關(guān)聯(lián)起來的。

環(huán)境變量的傳遞路徑:命令行命令 -> Webpack -> Webpack 加載的各種 js 和 Vue 文件

  1. 你的 nodejs 運行命令比如 NODE_ENV=production npm run dev,其中 NODE_ENV=production 就是環(huán)境變量,一般用來代表生產(chǎn)環(huán)境,其中 npm run dev 就是執(zhí)行 package.json scripts 中的 dev 那一項,一般是運行你的 webpack 腳本,比如 webpack-dev-server --inline --hot
  2. webpack 接收到 NODE_ENV=production 的命令行變量(process.env.NODE_ENV 來獲取),放到 DefinePlugin 的配置中,比如

    new webpack.DefinePlugin({
          'process.env': {
            NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development')
          }
        }),
  3. Webpack 加載的所有 vue js 都可以通過 process.env.NODE_ENV 得到變量值,比如 console.log(process.env.NODE_ENV === 'production')
2018年8月21日 03:09