nuxt.js添加環(huán)境變量,區(qū)分項(xiàng)目打包環(huán)境操作
最近由于業(yè)務(wù)需求,開發(fā)了一個nuxt.js項(xiàng)目。
配置打包環(huán)境變量時,發(fā)現(xiàn)nuxt.js的文檔過于簡單,無法做參照。
經(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打測試環(huán)境包。
補(bǔ)充知識:vue項(xiàng)目分環(huán)境打包的具體步驟 --- 區(qū)分測試環(huán)境與線上環(huán)境的打包引用路徑
第一步: 安裝cross-env
npm install --save-dev cross-env
運(yùn)行跨平臺設(shè)置和使用環(huán)境變量的腳本
第二步:修改package.json
在package.json
里設(shè)置打包命令 --- 主要是基于使用vue-cli創(chuàng)建的項(xiàng)目,配置文件基于 NODE_ENV=production 去處理,根據(jù)盡少的改動原有配置文件的原則,我們在這里,NODE_ENV最好都設(shè)成production,
增加一個 EVN_CONFIG 字段去區(qū)分環(huán)境
NODE_ENV=production EVN_CONFIG=dev 對應(yīng)著
process.env.EVN_CONFIG(指的就是package.json 的EVN_CONFIG) 與config/index.js 的build 環(huán)境值 有對應(yīng)關(guān)系
對package.json文件中的scripts內(nèi)容進(jìn)行個性,添加上新定義的幾種環(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ù)會在build/webpackage.prod.conf.js中使用到

第四步 修改build/webpackage.prod.conf.js

env ------ process.env.EVN_CONFIG 與config/index.js 的build 環(huán)境值 有對應(yīng)關(guān)系
true
testing<br><br>console.log(env) ----
{ NODE_ENV: '"production"', EVN_CONFIG: '"testing"' }

初衷是為了 -- 區(qū)分測試環(huán)境與線上環(huán)境的打包引用路徑

index: 模板
assetRoot: 打包后文件要存放的路徑
assetsSubDirectory: 除了 index.html 之外的靜態(tài)資源要存放的路徑,
assetsPublicPath: 代表打包后,index.html里面引用資源的的相對地址
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)境操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Docker部署Nuxt.js項(xiàng)目的實(shí)現(xiàn)
- nuxt.js服務(wù)端渲染中axios和proxy代理的配置操作
- Nuxt.js nuxt-link與router-link的區(qū)別說明
- Nuxt.js的路由跳轉(zhuǎn)操作(頁面跳轉(zhuǎn)nuxt-link)
- nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作
- Nuxt.js 靜態(tài)資源和打包的操作
- nuxt.js寫項(xiàng)目時增加錯誤提示頁面操作
- 創(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-03
Vue實(shí)現(xiàn)動態(tài)樣式的多種方法匯總
本文要給大家介紹Vue實(shí)現(xiàn)動態(tài)樣式的多種方法,下面給大家?guī)韼讉€案列,需要的朋友可以借鑒研究一下。2021-06-06
Vue狀態(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-01
antd Select下拉菜單動態(tài)添加option里的內(nèi)容操作
這篇文章主要介紹了antd Select下拉菜單動態(tài)添加option里的內(nèi)容操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Vue使用Echarts實(shí)現(xiàn)大屏可視化布局示例詳細(xì)講解
這篇文章主要介紹了Vue使用Echarts實(shí)現(xiàn)大屏可視化布局示例,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01
Vue項(xiàng)目Nginx子目錄部署(Vite和Vue-CLI)
本文主要介紹了Vue項(xiàng)目Nginx子目錄部署(Vite和Vue-CLI),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05

