最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue如何使用process.env搭建自定義運(yùn)行環(huán)境

 更新時間:2023年01月10日 14:41:48   作者:aら 淼  
這篇文章主要介紹了vue如何使用process.env搭建自定義運(yùn)行環(huán)境,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一、vue-cli項(xiàng)目下默認(rèn)有三種模式

  • development:在 vue-cli-service serve 時使用。
  • production:在 vue-cli-service build 和 vue-cli-service test:e2e 時使用。
  • test:在 vue-cli-service test:unit 時使用。

對應(yīng)的 process.env.NODE_ENV 值分別為 development、production、test。

二、可以通過環(huán)境文件來指定默認(rèn)環(huán)境變量和自定義環(huán)境變量

環(huán)境文件有一下幾個類型:

  • .env: 在所有的環(huán)境中被載入
  • .env.local: 在所有的環(huán)境中被載入,但會被 git 忽略
  • .env.[mode]: 只在指定的模式中被載入
  • .env.[mode].local: 只在指定的模式中被載入,但會被 git 忽略

mode是某個模塊名,如 在src創(chuàng)建 .env.friend 文件,內(nèi)容:

NODE_ENV=development // 這里可以指定默認(rèn)的環(huán)境是 development、production、test。
VUE_APP_ENV=friend ?// 自定義的friend環(huán)境

注意自定義的變量名必須以 VUE_APP_ 開頭才能被webpack.DefinePlugin 靜態(tài)嵌入,通過process.env.VUE_APP_xxx 來訪問;執(zhí)行此文件就相當(dāng)于“進(jìn)入”friend環(huán)境了。

三、執(zhí)行自定義環(huán)境文件,進(jìn)入自定義環(huán)境

在package.json中添加

? "scripts": {
? ? "serve": "vue-cli-service serve",
? ? "build": "vue-cli-service build",
? ? "test:unit": "vue-cli-service test:unit",
? ? "test:e2e": "vue-cli-service test:e2e",
? ? "lint": "vue-cli-service lint",

? ? "serve:f":"vue-cli-service serve --mode friend",
? },

執(zhí)行 npm run serve:f,此時process.env.NODE_ENV為development, process.env.VUE_APP_ENV為friend,利用process.env.VUE_APP_ENV定義ip等信息即可,即可訪問后臺朋友的接口了。

四、配置舉例和應(yīng)用場景 vue-cli3

public/config/build.js,這里未使用自定義環(huán)境(未用process.env.VUE_APP_ENV)

let root = process.env.NODE_ENV;

let build = {
? development: {
? ? //開發(fā)人員本地調(diào)試開發(fā)環(huán)境
? ? publicPath:"/",
? ? outputDir:"xuzhou_shuiwu_web",
? },
? production: {
? ? publicPath:"./",
? ? outputDir:"xuzhou_shuiwu_web",
? },
? test: {
? },
? // 公網(wǎng)環(huán)境
? pro: {
? },
};
// export default build[root];

module.exports = build[root]

public/config/ip.js

// let root = process.env.NODE_ENV;
let root = process.env.VUE_APP_ENV; // 自定義
let key = "/back";// 代理關(guān)鍵字
// 通用配置
let common = {
? key: key,
? host: "0.0.0.0",
? port: "8888",
? localhost: "0.0.0.0:8888",
? upload: key + "/file/uploadFile", // 文件上傳地址
}
let ipConfig = {
? // 默認(rèn)環(huán)境
? development: {
? ? serverIP: "http://1.1.1.1:8883/portal/", ?
? ? logoutIp: "http://1.1.1.1:8883/portal/cas/logout/",

? },
? // 正式環(huán)境
? production: {
? ? serverIP: "http://1.1.1.1:8082/portal/",?
? ? logoutIp: "http://1.1.1.1:8082/portal/cas/logout/",
? },
? // 測試環(huán)境
? test: {
? },
? // 自定義環(huán)境
? friend: {
? ? serverIP: "http://1.1.1.1:8881/portal/",
? ? logoutIp: "http://1.1.1.1:8881/portal/cas/logout/",
? },
};

// export default Object.assign(common,ipConfig[root]);
console.log("當(dāng)前環(huán)境:",root)
module.exports = Object.assign(common,ipConfig[root])

public/config/index.js

// import ip from "./ip"
// import build from "./build"

const config = {
? ? ip: require("./ip"), build: require("./build")
};
// export default config;

module.exports = config

vue.config.js

const config = require('./public/config');
const path = require("path");

function resolve(dir) {
? return path.join(__dirname, dir);
}

module.exports = {
? // publicPath: "./", //打包后的位置(如果不設(shè)置這個靜態(tài)資源會報(bào)404) ./
? // vue-cli 3 已廢棄baseUrl
? publicPath: config.build.publicPath,
? outputDir: config.build.outputDir, //打包后的目錄名稱
? assetsDir: "static", //靜態(tài)資源目錄名稱
? devServer: {
? ? open: true,?
? ? // disableHostCheck: false,
? ? host: config.ip.host,
? ? port: config.ip.port,
? ? // https: false,
? ? // hotOnly: false, // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#configuring-proxy
? ? proxy: {
? ? ? [config.ip.key]: {
? ? ? ? target: config.ip.serverIP, ?// jenkins
? ? ? ? changeOrigin: true,
? ? ? ? pathRewrite: {
? ? ? ? ? ["^" + config.ip.key]: ""
? ? ? ? }
? ? ? }
? ? }
? ? // before: app => {}
? }, // 第三方插件配置
? // webpack相關(guān)配置
? // chainWebpack: config => {
? // ? // config.entry.app = ['./src/main.js'];
? // ? config.resolve.alias.set("@", resolve("src")).set("#", resolve("public"));
? // },
? // webpack3,4的寫法
? configureWebpack: {
? ? resolve: {
? ? ? extensions: ['.js', '.vue', '.json'],
? ? ? alias: {
? ? ? ? '@': resolve('src'),
? ? ? ? // '~': process.cwd(),
? ? ? ? '#': resolve('public'),
? ? ? ? // components: resolve('src/components'),
? ? ? ? // util: resolve('src/utils'),
? ? ? ? // store: resolve('src/store'),
? ? ? ? // router: resolve('src/router')
? ? ? }
? ? }
? },
? // pluginOptions: {
? // ? ? // ...
? // },
? // 加載less加載器,路徑:./public/css/common.less
? chainWebpack: config => {
? ? const oneOfsMap = config.module.rule("less").oneOfs.store;
? ? oneOfsMap.forEach(item => {
? ? ? item
? ? ? ? .use("sass-resources-loader")
? ? ? ? .loader("sass-resources-loader")
? ? ? ? .options({
? ? ? ? ? // Provide path to the file with resources
? ? ? ? ? resources: ["./public/css/common.less", "./public/css/variable.less"]
? ? ? ? })
? ? ? ? .end();
? ? });
? }
};

axure封裝request.js 部分

const service = axios.create({
? baseURL: require("#/config").ip.key,
? timeout: 5000, // request timeout
? withCredentials: true,
});

在單點(diǎn)登錄中,可以在router.js中判斷無權(quán)限跳轉(zhuǎn)時使用:

location.href = config.serverIP + “cas/login?redirect=” + url

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue?指令與過濾器案例代碼

    vue?指令與過濾器案例代碼

    這篇文章主要介紹了vue?指令與過濾器,本文通過案例代碼給大家詳細(xì)講解,給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • electron中使用本地?cái)?shù)據(jù)庫的方法詳解

    electron中使用本地?cái)?shù)據(jù)庫的方法詳解

    眾所周知,electron是可以開發(fā)桌面端的框架,那我們有一些數(shù)據(jù)不想讓別人看到,只能在自己的電腦上展示時怎么辦呢,這個時候就可以用到本地?cái)?shù)據(jù)庫,本文將以sqlite3為例介紹一下electron如何使用本地?cái)?shù)據(jù)庫
    2023-10-10
  • 解決axios post 后端無法接收數(shù)據(jù)的問題

    解決axios post 后端無法接收數(shù)據(jù)的問題

    今天小編就為大家分享一篇解決axios post 后端無法接收數(shù)據(jù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • vue el-table字段點(diǎn)擊出現(xiàn)el-input輸入框,失焦保存方式

    vue el-table字段點(diǎn)擊出現(xiàn)el-input輸入框,失焦保存方式

    這篇文章主要介紹了vue el-table字段點(diǎn)擊出現(xiàn)el-input輸入框,失焦保存方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 如何在vue中使用kindeditor富文本編輯器

    如何在vue中使用kindeditor富文本編輯器

    這篇文章主要介紹了vue中使用kindeditor富文本編輯器的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • Vue時間軸 vue-light-timeline的用法說明

    Vue時間軸 vue-light-timeline的用法說明

    這篇文章主要介紹了Vue時間軸 vue-light-timeline的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Vue實(shí)現(xiàn)遞歸組件的思路與示例代碼

    Vue實(shí)現(xiàn)遞歸組件的思路與示例代碼

    以簡單的樹形組件為案例,實(shí)現(xiàn)在組件中遞歸組件,下面這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)遞歸組件的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 一文詳解Vue3中如何使用Vue?Router

    一文詳解Vue3中如何使用Vue?Router

    Vue-Router路由是根據(jù)不同的url地址展現(xiàn)不同的內(nèi)容或頁面,這篇文章主要給大家介紹了關(guān)于Vue3中如何使用Vue?Router的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Vue2項(xiàng)目升級到Vue3的詳細(xì)教程

    Vue2項(xiàng)目升級到Vue3的詳細(xì)教程

    看到好多開源項(xiàng)目都升級了vue3,下面這篇文章主要給大家介紹了關(guān)于Vue2項(xiàng)目升級到Vue3的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue實(shí)現(xiàn)未登錄跳轉(zhuǎn)到登錄頁面的方法

    vue實(shí)現(xiàn)未登錄跳轉(zhuǎn)到登錄頁面的方法

    這篇文章主要介紹了vue實(shí)現(xiàn)未登錄跳轉(zhuǎn)到登錄頁面的方法,主要目的是實(shí)現(xiàn)未登錄跳轉(zhuǎn),需要的朋友參考下吧
    2018-07-07

最新評論

铜鼓县| 社会| 兴业县| 驻马店市| 铜陵市| 茌平县| 崇礼县| 东辽县| 牡丹江市| 四平市| 苏尼特右旗| 乃东县| 扶沟县| 大姚县| 枣强县| 嘉祥县| 垫江县| 思茅市| 湖州市| 许昌市| 大石桥市| 伊金霍洛旗| 鄂尔多斯市| 迁安市| 莎车县| 紫阳县| 卢氏县| 岳普湖县| 施甸县| 万山特区| 若尔盖县| 胶南市| 盐池县| 镇安县| 阿拉善右旗| 延川县| 抚远县| 德兴市| 嵊泗县| 安多县| 丰顺县|