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

uniapp微信小程序多環(huán)境配置以及使用教程

 更新時間:2023年05月17日 16:40:36   作者:我總是詞不達(dá)意  
前后端分離開發(fā)模式中,無論前后端都有可能區(qū)分不同的環(huán)境配置,下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序多環(huán)境配置以及使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前后端分離開發(fā)模式中,無論前后端都有可能區(qū)分不同的環(huán)境配置,開發(fā)環(huán)境(dev)、測試環(huán)境(test)、線上生產(chǎn)環(huán)境(prod)等,不同環(huán)境的設(shè)置,后端請求api地址等不同,那么在小程序如何設(shè)置多環(huán)境配置呢?

定義其他的環(huán)境變量 

之前搞vue的時候 可以通過 .env的方式配置開發(fā)測試和線上需要的環(huán)境變量

uniapp中只有 development 和 production 這兩個條件

vu2版本通過process.env.NODE_ENV可以獲取到

我如果需要其他的變量怎么辦呢: 如 測試 test等

通過官網(wǎng)我們可以看到示例

 在根目錄下的 package.json文件中 (沒有的話通過 npm init -y初始化創(chuàng)建一個)

{
  "uni-app": {
    "scripts": {
      "dev": {
        "title": "微信小程序——開發(fā)版",
        "env": {
          "ENV_TYPE": "dev",
          "UNI_PLATFORM": "mp-weixin",
          "VUE_APP_BASE_URL": "http://127.0.0.1:8080/"
        }
      },
      "test": {
        "title": "微信小程序——測試版",
        "env": {
          "ENV_TYPE": "test",
          "UNI_PLATFORM": "mp-weixin",
          "VUE_APP_BASE_URL": "http://test.domain/"
        }
      },
      "pro": {
        "title": "微信小程序——正式版",
        "env": {
          "ENV_TYPE": "pro",
          "UNI_PLATFORM": "mp-weixin",
          "VUE_APP_BASE_URL": "http://pro.domain/"
        }
      }
    }
  },
  "name": "xm-uni-app",
  "version": "1.0.0",
  "description": "{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

保存之后,在HBuilderX中會顯示在 運行/發(fā)行 菜單中

vue2版本中使用

直接通過process.env打印的時候會看不到

 直接通過process.env.變量名使用就行

console.log(process.env.VUE_APP_BASE_URL,'獲取處于當(dāng)前開發(fā)環(huán)境的url');
console.log(process.env.ENV_TYPE,'獲取當(dāng)前處于哪個開發(fā)環(huán)境');
console.log(process.env,'process.env++++++++++++');

vue3 vite版中使用

在vue3中獲取不到process,所以需要一些改造

{
  "uni-app": {
    "scripts": {
      "dev": {
        "title": "微信小程序——開發(fā)版",
        "env": {
          "ENV_TYPE": "dev",
          "UNI_PLATFORM": "mp-weixin",
          "VITE_BASE_API": "http://127.0.0.1:8080/"
        }
      },
      "test": {
        "title": "微信小程序——測試版",
        "env": {
          "ENV_TYPE": "test",
          "UNI_PLATFORM": "mp-weixin",
          "VITE_BASE_API": "http://test.domain/"
        }
      },
      "pro": {
        "title": "微信小程序——正式版",
        "env": {
          "ENV_TYPE": "pro",
          "UNI_PLATFORM": "mp-weixin",
          "VITE_BASE_API": "http://pro.domain/"
        }
      }
    }
  }
}

 在src/utils文件夾下創(chuàng)建envConfig.js

// 導(dǎo)出的環(huán)境請求地址
//本地環(huán)境
const dev = {
  ENV: "dev",
  VITE_BASE_API: "http://127.0.0.1:8080/dev-api",
};
//正式環(huán)境
const pro = {
  ENV: "pro",
  VITE_BASE_API: "https://xxx/prod-api",
};
//測試環(huán)境
const test = {
  ENV: "test",
  VITE_BASE_API: "https://xxx/test-api",
};
export default {
  dev,
  test,
  pro,
};

 在vite.config.js添加配置

import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import ENV_CONFIG from "./utils/envConfig.js";
import { resolve } from "path"; // 導(dǎo)入 path 模塊,幫助我們解析路徑
export default defineConfig(() => {
  return {
    server: {
      port: "3002",
    },
    resolve: {
      alias: {
        "@": resolve(__dirname, "/src"),
      },
    },
    plugins: [uni()],
    define: {
      "process.env.config": ENV_CONFIG, //配置一
      'process.env': process.env, //配置二
    },
  };
});

 使用方式

let baseURL = process.env.config[process.env.UNI_SCRIPT].VITE_BASE_API; //獲取處于當(dāng)前開發(fā)環(huán)境的url
let evnName = process.env.config[process.env.UNI_SCRIPT].ENV; //獲取當(dāng)前處于哪個開發(fā)環(huán)境
console.log("baseURL:", baseURL, "++++++++++++++++++++++++");
console.log("envName:", evnName, "++++++++++++++++++++++++");
console.log("evn:", process.env, "++++++++++++++++++++++++");

總結(jié)

到此這篇關(guān)于uniapp微信小程序多環(huán)境配置以及使用的文章就介紹到這了,更多相關(guān)uniapp微信小程序多環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用JSX實現(xiàn)Carousel輪播組件的方法(前端組件化)

    使用JSX實現(xiàn)Carousel輪播組件的方法(前端組件化)

    做這個輪播圖的組件,我們先從一個最簡單的 DOM 操作入手。使用 DOM 操作把整個輪播圖的功能先實現(xiàn)出來,然后在一步一步去考慮怎么把它設(shè)計成一個組件系統(tǒng)
    2021-04-04
  • JavaScript中代理與反射的用法詳解

    JavaScript中代理與反射的用法詳解

    JavaScript作為一門靈活而強大的語言,提供了代理(Proxy)與反射(Reflect)這兩個元編程工具,它們?yōu)殚_發(fā)者提供了更深層次的語言控制和操作,在本篇博客中,我們將深入研究代理與反射的概念、用法,以及如何巧妙地結(jié)合它們來實現(xiàn)高級的編程技巧,需要的朋友可以參考下
    2023-12-12
  • 原生JS實現(xiàn)文件上傳

    原生JS實現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了原生JS實現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • IE FF OPERA都可用的彈出層實現(xiàn)代碼

    IE FF OPERA都可用的彈出層實現(xiàn)代碼

    多瀏覽器的彈出層效果核心代碼。需要的朋友可以測試下這個是從正在使用的網(wǎng)站中扒下來的。
    2009-09-09
  • 記錄微信小程序 height: calc(xx - xx);無效問題

    記錄微信小程序 height: calc(xx - xx);無效問題

    這篇文章主要介紹了微信小程序 - height: calc(xx - xx);無效 問題,文中給大家擴(kuò)展介紹下jquery點擊添加樣式,再次點擊移除樣式的實例代碼,需要的朋友可以參考下
    2019-12-12
  • 微信小程序子組件向父組件傳值的兩種方法

    微信小程序子組件向父組件傳值的兩種方法

    本文介紹了微信小程序中子組件向父組件傳值的兩種方法,這兩種方法都能有效地實現(xiàn)子組件向父組件的數(shù)據(jù)傳遞,對于開發(fā)微信小程序的開發(fā)者來說,掌握這些技巧非常重要,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • layui實現(xiàn)三級聯(lián)動效果

    layui實現(xiàn)三級聯(lián)動效果

    這篇文章主要為大家詳細(xì)介紹了layui實現(xiàn)三級聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 基于JS實現(xiàn)文字轉(zhuǎn)語音即文本朗讀

    基于JS實現(xiàn)文字轉(zhuǎn)語音即文本朗讀

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何利用SpeechSynthesis實現(xiàn)文字轉(zhuǎn)語音即文本朗讀的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • js與css的阻塞問題詳析

    js與css的阻塞問題詳析

    JS具有阻塞特性,當(dāng)瀏覽器在執(zhí)行js代碼時,不能同時做其它事情,下面這篇文章主要給大家介紹了關(guān)于js與css阻塞問題的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 微信小程序使用radio顯示單選項功能【附源碼下載】

    微信小程序使用radio顯示單選項功能【附源碼下載】

    這篇文章主要介紹了微信小程序使用radio顯示單選項功能,涉及針對radio組件事件響應(yīng)相關(guān)操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2017-12-12

最新評論