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

vue3 vite如何讀取文件內(nèi)容

 更新時(shí)間:2024年05月23日 10:06:46   作者:мо仙堡杠把子ご灬  
這篇文章主要介紹了vue3 vite如何讀取文件內(nèi)容問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue3 vite讀取文件內(nèi)容

const modulesFiles = import.meta.globEager('./routerConfig/*.js');
let modules = [];
for (const path in modulesFiles) {
  modules = [].concat(modules, modulesFiles[path].default);
}

webpack

let routerArr = [];

// 自動(dòng)加載該目錄下的所有文件
const files = require.context('./', true, /\.(js)$/);
// 根據(jù)文件名組織模塊對(duì)象
files.keys().map(src => {
  const match = src.match(/\/(.+)\./);
  if (match && match.length >= 1) {
    const moduleValue = files(src);
    if (moduleValue.default) {
      routerArr = [].concat(routerArr, moduleValue.default);
    }
  }
});
export default routerArr;

vue3使用vite配置環(huán)境變量

環(huán)境變量和模式 | Vite 官方中文文檔

1、環(huán)境變量

1.1、環(huán)境模式

.env                # 所有情況下都會(huì)加載
.env.local          # 所有情況下都會(huì)加載,但會(huì)被 git 忽略
.env.[mode]         # 只在指定模式下加載
.env.[mode].local   # 只在指定模式下加載,但會(huì)被 git 忽略

1.2、默認(rèn)環(huán)境變量

  • import.meta.env.MODE: {string} 應(yīng)用運(yùn)行的模式
  • import.meta.env.BASE_URL: {string} 部署應(yīng)用時(shí)的基本 URL
  • import.meta.env.PROD: {boolean} 應(yīng)用是否運(yùn)行在生產(chǎn)環(huán)境
  • import.meta.env.DEV: {boolean} 應(yīng)用是否運(yùn)行在開(kāi)發(fā)環(huán)境 (永遠(yuǎn)與 import.meta.env.PROD相反)

1.3、應(yīng)用環(huán)境變量

  • .env文件:所有環(huán)境下都會(huì)加載
  • .env.development文件:開(kāi)發(fā)環(huán)境
  • .env.production文件:生產(chǎn)環(huán)境

可以通過(guò) import.meta.env.MODE === 'development' 進(jìn)行判斷

VITE_APP_NAME = dist-icon

注意:變量名稱(chēng)必須VITE_開(kāi)頭

1.4、使用環(huán)境變量

// 判斷
const isProd = import.meta.env.MODE === 'production'
// 讀取
const appName = import.meta.env.VITE_APP_NAME

在項(xiàng)目中,根據(jù)項(xiàng)目業(yè)務(wù)和情況來(lái)配置環(huán)境變量。.env.development一般為默認(rèn),非測(cè)試或特定情況可不用配置

2、自定義環(huán)境變量

如果使用自定義配置環(huán)境變量,import.meta.env.MODE中的運(yùn)行環(huán)境將變成自定義的環(huán)境,比如:import.meta.env.MODE:hbjt。

不再是用development或production來(lái)區(qū)分開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境。

要想在自定義環(huán)境變量中控制是開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境,可以定義.env.projectName(生產(chǎn)環(huán)境)、.env.projectName-dev(開(kāi)發(fā)環(huán)境)。

自定義變量 NODE_ENV = development 或者 ODE_ENV = production 來(lái)控制是否是生產(chǎn)環(huán)境

2.1、命名環(huán)境變量

.env.projectName(項(xiàng)目名稱(chēng))

一般應(yīng)用場(chǎng)景:控制同一套框架下根據(jù)項(xiàng)目打包不同的業(yè)務(wù)、特定環(huán)境下的變量或環(huán)境地址

注意:.env文件中存儲(chǔ)默認(rèn)的環(huán)境變量

2.2、使用環(huán)境變量

  • dev:?jiǎn)?dòng)本地環(huán)境項(xiàng)目。
  • serve:projectName:?jiǎn)?dòng)指定環(huán)境的本地項(xiàng)目
"scripts": {
  "dev": "vite",
  "serve:projectName": "vite --mode projectName",
  "build": "vue-tsc && vite build",
  "build:projectName": "vue-tsc && vite build --mode projectName",
  "preview": "vite preview",
  "lint:fix": "eslint --ext .ts,.tsx,.vue --fix ."
}
  • 啟動(dòng)指定環(huán)境項(xiàng)目后,才可以訪問(wèn)到環(huán)境變量,否則默認(rèn)取.env文件下環(huán)境變量
  • --mode projectName(項(xiàng)目名稱(chēng)-可自行定義)

3、vite中使用環(huán)境變量

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import VueSetupExtend from 'vite-plugin-vue-setup-extend'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'
import viteLegacyPlugin from '@vitejs/plugin-legacy'
 
export default defineConfig(({ command, mode }) => {
  const env = loadEnv(mode, process.cwd(), '')
  const appName = env.VITE_APP_NAME
  console.log('env', env)
  return {
    plugins: [
      vue(),
      VueSetupExtend(),
      AutoImport({
        resolvers: [VantResolver()]
      }),
      Components({
        resolvers: [VantResolver()]
      }),
      viteLegacyPlugin({
        targets: ['chrome 52', 'ie >= 11'], // 需要兼容的目標(biāo)列表,可以設(shè)置多個(gè)
        additionalLegacyPolyfills: ['regenerator-runtime/runtime'] // 面向IE11時(shí)需要此插件
      })
    ],
    resolve: {
      // 設(shè)置快捷指向
      alias: {
        '@': resolve(__dirname, './src')
      }
    },
    build: {
      // 指定輸出路徑
      outDir: appName
    },
    base: BASE_URL,
    server: {
      port: 8086,
      host: '0.0.0.0',
      open: true, // 啟動(dòng)服務(wù)是否自動(dòng)打開(kāi)瀏覽器
      cors: true, // 跨域
      proxy: {
        '/webspiderweb': {
          target: '',
          changeOrigin: true,
          secure: false
        }
      }
    },
    define: {
      'process.env': {
        VITE_APP_NAME: env.VITE_APP_NAME,
        VITE_APP_BASE_URL: env.VITE_APP_BASE_URL
      }
    }
  }
})
  • define:將全局變量注入到代碼中
  • process.env:用于訪問(wèn)運(yùn)行時(shí)的環(huán)境變量

使用:import.meta.env.VITE_APP_NAME 或 process.env.VITE_APP_NAME

總結(jié)

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

相關(guān)文章

  • 關(guān)于vue2使用swiper4的踩坑記錄

    關(guān)于vue2使用swiper4的踩坑記錄

    最近寫(xiě)vue的一個(gè)練手項(xiàng)目需要在里面實(shí)現(xiàn)一個(gè)輪播圖,想到去用第三方插件,百度了一輪,發(fā)現(xiàn)大部分都是swiper這個(gè)插件,這篇文章主要給大家介紹了關(guān)于vue2使用swiper4踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • 基礎(chǔ)的前端vite項(xiàng)目創(chuàng)建過(guò)程詳解

    基礎(chǔ)的前端vite項(xiàng)目創(chuàng)建過(guò)程詳解

    這篇文章主要介紹了如何使用Vite創(chuàng)建一個(gè)前端項(xiàng)目,并配置了Vue?Router、Vuex、Element?Plus、Axios和Element?Plus圖標(biāo)等第三方依賴(lài),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • vue實(shí)現(xiàn)簡(jiǎn)單加法計(jì)算器

    vue實(shí)現(xiàn)簡(jiǎn)單加法計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單加法計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Vue3+ElementUI 多選框中復(fù)選框和名字點(diǎn)擊方法效果分離方法

    Vue3+ElementUI 多選框中復(fù)選框和名字點(diǎn)擊方法效果分離方法

    這篇文章主要介紹了Vue3+ElementUI 多選框中復(fù)選框和名字點(diǎn)擊方法效果分離方法,文中補(bǔ)充介紹了VUE-Element組件 CheckBox多選框使用方法,需要的朋友可以參考下
    2024-01-01
  • VUE中的打包刪除文件、圖片的HASH碼

    VUE中的打包刪除文件、圖片的HASH碼

    這篇文章主要介紹了VUE中的打包刪除文件、圖片的HASH碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue3+ts代理的使用

    vue3+ts代理的使用

    本文主要介紹了vue3+ts代理的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • vue中子組件如何間接修改父組件傳遞過(guò)來(lái)的值問(wèn)題

    vue中子組件如何間接修改父組件傳遞過(guò)來(lái)的值問(wèn)題

    這篇文章主要介紹了vue中子組件如何間接修改父組件傳遞過(guò)來(lái)的值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue結(jié)合vue-electron創(chuàng)建應(yīng)用程序小結(jié)

    vue結(jié)合vue-electron創(chuàng)建應(yīng)用程序小結(jié)

    這篇文章主要介紹了vue結(jié)合vue-electron創(chuàng)建應(yīng)用程序,本文給大家介紹了安裝electron有兩種方式,兩種方式創(chuàng)建的項(xiàng)目結(jié)構(gòu)大不相同,需要的朋友可以參考下
    2024-03-03
  • Vue3中Provide?/?Inject的實(shí)現(xiàn)原理分享

    Vue3中Provide?/?Inject的實(shí)現(xiàn)原理分享

    provide和inject主要為高階插件/組件庫(kù)提供用例,這篇文章主要給大家介紹了關(guān)于Vue3中Provide?/?Inject的實(shí)現(xiàn)原理,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • vue3 ref 和reactive的區(qū)別詳解

    vue3 ref 和reactive的區(qū)別詳解

    本文主要介紹了vue3 ref 和reactive的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論

弥勒县| 北海市| 新源县| 壤塘县| 女性| 怀安县| 庆元县| 康平县| 凌源市| 博野县| 武威市| 云林县| 左贡县| 博乐市| 屏东县| 安多县| 涿鹿县| 正安县| 灵宝市| 肇庆市| 台江县| 太和县| 乐平市| 枣庄市| 视频| 柳州市| 衡山县| 周宁县| 胶州市| 乐平市| 甘德县| 马关县| 福建省| 商都县| 莱西市| 尖扎县| 溧阳市| 高雄县| 舒兰市| 湘潭市| 乡宁县|