亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue項目根據(jù)不同環(huán)境進(jìn)行設(shè)置打包命令的方法

 更新時間:2022年11月17日 10:02:56   作者:HaanLen  
這篇文章主要介紹了vue項目根據(jù)不同環(huán)境進(jìn)行設(shè)置打包命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

vue項目設(shè)置不同環(huán)境打包命令

安裝依賴cross-env

npm install --save-dev cross-env

package.json文件默認(rèn)

  "scripts": {
    "dev": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },

設(shè)置不同環(huán)境的打包命令

  "scripts": {
    "dev": "vue-cli-service serve --open --port 9090",
    "build": "vue-cli-service build",
    "build:test": "vue-cli-service build --mode test",
    "build:prod": "vue-cli-service build --mode prod",
    "lint": "vue-cli-service lint"
  },

定義不同環(huán)境變量
在項目下新建文件.env.prod.env.test

.env.prod文件

#定義NODE_ENV變量
NODE_ENV=prod

.env.test文件

#定義NODE_ENV變量
NODE_ENV=test

vue.config.js配置

const { defineConfig } = require("@vue/cli-service");
const os = require("os");

const { NODE_ENV } = process.env;

///獲取本機(jī)ip///
function getIPAdress() {
  const interfaces = os.networkInterfaces();
  for (let devName in interfaces) {
    let iface = interfaces[devName];
    for (let i = 0; i < iface.length; i++) {
      let alias = iface[i];
      if (
        alias.family === "IPv4" &&
        alias.address !== "127.0.0.1" &&
        !alias.internal
      ) {
        return alias.address;
      }
    }
  }
}
const myHost = getIPAdress();
console.log("myHost", myHost);
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    host: myHost, //配置本地host,當(dāng)啟動項目時自動在瀏覽器中打開
  },
  outputDir: NODE_ENV ? `${NODE_ENV}-dist` : "dist",//不同的環(huán)境打包輸出到不同的目錄
});

實施效果

#執(zhí)行命令,打包的文件直接輸出到項目下的dist目錄
npm run build 

#執(zhí)行命令,打包的文件直接輸出到項目下的test-dist目錄
npm run build:test 

#執(zhí)行命令,打包的文件直接輸出到項目下的prod-dist目錄
npm run build :prod

#啟動命令,會自動在瀏覽器中打開端口號為9090的本地ip的頁面
npm run dev

vue-cli-service

vue-cli-service serve

執(zhí)行命令vue-cli-service serve會啟動一個服務(wù), (基于 webpack-dev-server) 并附帶模塊熱重載 (Hot-Module-Replacement)。

語法

vue-cli-service serve [options] [entry]

options

  • –open: 在服務(wù)器啟動時打開瀏覽器
  • –copy: 在服務(wù)器啟動時將 URL 復(fù)制到剪切版
  • –mode: 指定環(huán)境模式 (默認(rèn)值:development)
  • –host: 指定 host (默認(rèn)值:0.0.0.0)
  • –post: 指定 port (默認(rèn)值:8080)
  • –https: 使用 https (默認(rèn)值:false)

使用說明:

使用–open時,默認(rèn)的host是0.0.0.0,自動打開會看不到效果,因此當(dāng)設(shè)置自動啟動時還需要同時配置host為localhost,如果需要設(shè)置本地自己電腦的ip,需另外獲取本地ip.后續(xù)再寫。

 "dev": "vue-cli-service serve --open --host localhost",

運行vue項目,設(shè)置vue-cli-service serve --open自動打開瀏覽器,跳轉(zhuǎn)到http://0.0.0.0:8081 解決辦法

"dev": "vue-cli-service serve --open --port 9090",

vue.config.js文件

const os = require("os");

const { NODE_ENV } = process.env;

///獲取本機(jī)ip
function getIPAdress() {
  const interfaces = os.networkInterfaces();
  for (let devName in interfaces) {
    let iface = interfaces[devName];
    for (let i = 0; i < iface.length; i++) {
      let alias = iface[i];
      if (
        alias.family === "IPv4" &&
        alias.address !== "127.0.0.1" &&
        !alias.internal
      ) {
        return alias.address;
      }
    }
  }
}
const myHost = getIPAdress();//本機(jī)ip


module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    host: myHost, //配置本地host,當(dāng)啟動項目時自動在瀏覽器中打開
  },
  outputDir: NODE_ENV ? `${NODE_ENV}-dist` : "dist",
});
vue-cli-service build

描述:
作用簡述:打包。

vue-cli-service build 會在 dist/ 目錄生成一個可用于生產(chǎn)環(huán)境的包。

打包的特點

  • 壓縮JS/CSS/HTML
  • 自動的 vendor chunk splitting。這樣可以更好地緩存。
  • chunk manifest 會內(nèi)聯(lián)在 HTML 里。
vue-cli-service build [options] [entry|pattern]

options

  • –mode:指定環(huán)境模式 (默認(rèn)值:production)
  • –dest:指定輸出目錄 (默認(rèn)值:dist)
  • –modern:使用現(xiàn)代模式構(gòu)建應(yīng)用,為現(xiàn)代瀏覽器交付原生支持的 ES2015 代碼,并生成一個兼容老瀏覽器的包用來自動回退。
  • –target:app | lib | wc | wc-async (默認(rèn)值:app).允許你將項目中的任何組件以一個庫或 Web Components 組件的方式進(jìn)行構(gòu)建。
  • –name:庫或 Web Components 模式下的名字 (默認(rèn)值:package.json 中的 “name” 字段或入口文件名)
  • –no-clean:在構(gòu)建項目之前不清除目標(biāo)目錄的內(nèi)容
  • –report:生成 report.html 以幫助分析包內(nèi)容
  • –report-json:生成 report.json 以幫助分析包內(nèi)容。例如:包中包含的模塊們的大小。
  • –watch:監(jiān)聽文件變化

到此這篇關(guān)于vue項目根據(jù)不同環(huán)境進(jìn)行設(shè)置打包命令的文章就介紹到這了,更多相關(guān)vue不同環(huán)境打包命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3更新的setup語法糖實例詳解

    vue3更新的setup語法糖實例詳解

    vue3上線已經(jīng)很久了,許多小伙伴應(yīng)該都已經(jīng)使用過vue3了,下面這篇文章主要給大家介紹了關(guān)于vue3更新的setup語法糖的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 聊聊vue 中的v-on參數(shù)問題

    聊聊vue 中的v-on參數(shù)問題

    這篇文章主要介紹了聊聊vue 中的v-on參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • vue element table表格相同名稱列合并方式

    vue element table表格相同名稱列合并方式

    這篇文章主要介紹了vue element table表格相同名稱列合并方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • JS圖片懶加載庫VueLazyLoad詳解

    JS圖片懶加載庫VueLazyLoad詳解

    這篇文章主要為大家介紹了JS圖片懶加載庫VueLazyLoad示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • vue子父組件通信的實現(xiàn)代碼

    vue子父組件通信的實現(xiàn)代碼

    這篇文章主要介紹了vue子父組件通信的實現(xiàn)代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-07-07
  • vue3響應(yīng)式轉(zhuǎn)換常用API操作示例代碼

    vue3響應(yīng)式轉(zhuǎn)換常用API操作示例代碼

    在Vue 3中,響應(yīng)式系統(tǒng)得到了顯著改善,包括使用Composition API時更加靈活的狀態(tài)管理,這篇文章主要介紹了vue3響應(yīng)式轉(zhuǎn)換常用API操作示例代碼,需要的朋友可以參考下
    2024-08-08
  • vue自定義組件如何通過v-model指令控制組件的隱藏、顯示

    vue自定義組件如何通過v-model指令控制組件的隱藏、顯示

    這篇文章主要介紹了vue自定義組件如何通過v-model指令控制組件的隱藏、顯示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue組件中傳值EventBus的使用及注意事項說明

    vue組件中傳值EventBus的使用及注意事項說明

    這篇文章主要介紹了vue組件中傳值EventBus的使用及注意事項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vite項目的根目錄中的env.d.ts類型聲明文件里要寫什么

    vite項目的根目錄中的env.d.ts類型聲明文件里要寫什么

    這篇文章主要介紹了vite項目的根目錄中的env.d.ts類型聲明文件里要寫什么,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue.js踩坑之ref引用細(xì)節(jié)點講解

    vue.js踩坑之ref引用細(xì)節(jié)點講解

    這篇文章主要介紹了vue.js踩坑之ref引用細(xì)節(jié)點講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論