nuxt.js添加環(huán)境變量,區(qū)分項(xiàng)目打包環(huán)境操作
最近由于業(yè)務(wù)需求,開發(fā)了一個(gè)nuxt.js項(xiàng)目。
配置打包環(huán)境變量時(shí),發(fā)現(xiàn)nuxt.js的文檔過于簡(jiǎn)單,無法做參照。
經(jīng)查證了一些資料后,解決了該問題。遂整理成文檔,發(fā)布于此,給同行一些參照。
一、添加cross-env插件
npm
npm i cross-env
yarn
yarn add cross-env
二、添加環(huán)境變量文件
根目錄添加env.production
NODE_ENV = 'production'
VUE_APP_TITLE = 'production'
根目錄添加env.test文件
NODE_ENV = 'production'
VUE_APP_TITLE = 'test'
三、注入全局環(huán)境變量
在nuxt.confit.js中添加環(huán)境變量配置
export default { env: { VUE_APP_TITLE: process.env.VUE_APP_TITLE } }
四、修改打包命令
在package.json中修改以下命令
"scripts": { "dev": "nuxt", "build": "cross-env process.env.VUE_APP_TITLE=production nuxt build", "build:test": "cross-env process.env.VUE_APP_TITLE=test nuxt build", "start": "nuxt start", "generate": "nuxt generate", "test": "jest" }
運(yùn)行 yarn build打生產(chǎn)環(huán)境包,yarn build:test打測(cè)試環(huán)境包。
補(bǔ)充知識(shí):vue項(xiàng)目分環(huán)境打包的具體步驟 --- 區(qū)分測(cè)試環(huán)境與線上環(huán)境的打包引用路徑
第一步: 安裝cross-env
npm install --save-dev cross-env
運(yùn)行跨平臺(tái)設(shè)置和使用環(huán)境變量的腳本
第二步:修改package.json
在package.json
里設(shè)置打包命令 --- 主要是基于使用vue-cli創(chuàng)建的項(xiàng)目,配置文件基于 NODE_ENV=production 去處理,根據(jù)盡少的改動(dòng)原有配置文件的原則,我們?cè)谶@里,NODE_ENV最好都設(shè)成production,
增加一個(gè) EVN_CONFIG 字段去區(qū)分環(huán)境
NODE_ENV=production EVN_CONFIG=dev 對(duì)應(yīng)著
process.env.EVN_CONFIG(指的就是package.json 的EVN_CONFIG) 與config/index.js 的build 環(huán)境值 有對(duì)應(yīng)關(guān)系
對(duì)package.json文件中的scripts內(nèi)容進(jìn)行個(gè)性,添加上新定義的幾種環(huán)境的打包過程,里的參數(shù)與前面的調(diào)協(xié)保持一致。
"build:dev": "cross-env NODE_ENV=production EVN_CONFIG=dev node build/build.js",
"build:test": "cross-env NODE_ENV=production EVN_CONFIG=testing node build/build.js",
"build:prod": "cross-env NODE_ENV=production EVN_CONFIG=production node build/build.js"
第三步:修改config/index.js
修改config/index.js文件中build參數(shù),這里的參數(shù)會(huì)在build/webpackage.prod.conf.js中使用到
第四步 修改build/webpackage.prod.conf.js
env ------ process.env.EVN_CONFIG 與config/index.js 的build 環(huán)境值 有對(duì)應(yīng)關(guān)系
true testing<br><br>console.log(env) ---- { NODE_ENV: '"production"', EVN_CONFIG: '"testing"' }
初衷是為了 -- 區(qū)分測(cè)試環(huán)境與線上環(huán)境的打包引用路徑
index: 模板
assetRoot: 打包后文件要存放的路徑
assetsSubDirectory: 除了 index.html 之外的靜態(tài)資源要存放的路徑,
assetsPublicPath: 代表打包后,index.html里面引用資源的的相對(duì)地址
build: { // 添加test dev prod 三處環(huán)境的配制 production: require('./prod.env'), dev: require('./dev.env'), testing: require('./test.env'), // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), // assetsRoot: process.env.EVN_CONFIG === 'testing'?'../dist':'../h5', // assetsSubDirectory: './static', // assetsPublicPath: '/h5/', assetsSubDirectory:process.env.EVN_CONFIG === 'testing' ? './static':'static', assetsPublicPath:process.env.EVN_CONFIG === 'testing' ? '/h5/':'/',
以上這篇nuxt.js添加環(huán)境變量,區(qū)分項(xiàng)目打包環(huán)境操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Docker部署Nuxt.js項(xiàng)目的實(shí)現(xiàn)
- nuxt.js服務(wù)端渲染中axios和proxy代理的配置操作
- Nuxt.js nuxt-link與router-link的區(qū)別說明
- Nuxt.js的路由跳轉(zhuǎn)操作(頁(yè)面跳轉(zhuǎn)nuxt-link)
- nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作
- Nuxt.js 靜態(tài)資源和打包的操作
- nuxt.js寫項(xiàng)目時(shí)增加錯(cuò)誤提示頁(yè)面操作
- 創(chuàng)建nuxt.js項(xiàng)目流程圖解
- nuxt.js 多環(huán)境變量配置
相關(guān)文章
vue3+ts項(xiàng)目搭建的實(shí)現(xiàn)示例
這篇文章主要介紹了vue3+ts項(xiàng)目搭建的實(shí)現(xiàn)示例,本文目的在于記錄自己項(xiàng)目框架搭建的過程,通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03Vue實(shí)現(xiàn)動(dòng)態(tài)樣式的多種方法匯總
本文要給大家介紹Vue實(shí)現(xiàn)動(dòng)態(tài)樣式的多種方法,下面給大家?guī)韼讉€(gè)案列,需要的朋友可以借鑒研究一下。2021-06-06Vue狀態(tài)機(jī)的開啟與停止操作詳細(xì)講解
Vuex是專門為Vuejs應(yīng)用程序設(shè)計(jì)的狀態(tài)管理工具,這篇文章主要給大家介紹了關(guān)于Vuex狀態(tài)機(jī)快速了解與實(shí)例應(yīng)用的相關(guān)資料,需要的朋友可以參考下2023-01-01antd Select下拉菜單動(dòng)態(tài)添加option里的內(nèi)容操作
這篇文章主要介紹了antd Select下拉菜單動(dòng)態(tài)添加option里的內(nèi)容操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11Vue使用Echarts實(shí)現(xiàn)大屏可視化布局示例詳細(xì)講解
這篇文章主要介紹了Vue使用Echarts實(shí)現(xiàn)大屏可視化布局示例,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01Vue項(xiàng)目Nginx子目錄部署(Vite和Vue-CLI)
本文主要介紹了Vue項(xiàng)目Nginx子目錄部署(Vite和Vue-CLI),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05