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

Vite項(xiàng)目搭建與環(huán)境配置的完整版教程

 更新時間:2023年09月15日 08:51:57   作者:一花一world  
Vite?使用?Rollup?作為默認(rèn)的構(gòu)建工具,可以將應(yīng)用程序的源代碼打包成一個或多個優(yōu)化的靜態(tài)文件,本文就來為大家介紹一下Vite如何進(jìn)行項(xiàng)目搭建與環(huán)境配置吧

1. 打包構(gòu)建

Vite 使用 Rollup 作為默認(rèn)的構(gòu)建工具。通過運(yùn)行 npm run build 命令,Vite 會將應(yīng)用程序的源代碼打包成一個或多個優(yōu)化的靜態(tài)文件,以便在生產(chǎn)環(huán)境中進(jìn)行部署。Vite 的構(gòu)建過程會根據(jù)需要進(jìn)行代碼拆分、壓縮和優(yōu)化,以提供最佳的性能和文件大小。

# package.json
{
  "scripts": {
    "build": "vite build"
  }
}

2. 環(huán)境變量

Vite 支持在項(xiàng)目中使用環(huán)境變量。您可以在項(xiàng)目的根目錄下創(chuàng)建一個 .env 文件,并在其中定義您需要的環(huán)境變量。然后,在您的代碼中,可以使用 import.meta.env 對象來訪問這些環(huán)境變量。Vite 會根據(jù)當(dāng)前的環(huán)境自動加載相應(yīng)的環(huán)境變量文件,例如 .env.development、.env.production 等。

# .env
VITE_API_URL=https://api.example.com
VITE_APP_NAME=My App
???????# main.js
console.log(import.meta.env.VITE_API_URL); // 輸出:https://api.example.com
console.log(import.meta.env.VITE_APP_NAME); // 輸出:My App

3. 模式

Vite 支持兩種模式:開發(fā)模式和生產(chǎn)模式。在開發(fā)模式下,Vite 會提供一個開發(fā)服務(wù)器,實(shí)現(xiàn)快速的冷啟動和熱重載,以便在開發(fā)過程中獲得即時的反饋。在生產(chǎn)模式下,Vite 會對應(yīng)用程序進(jìn)行優(yōu)化和打包,以提供更高的性能和更小的文件大小。

# package.json
{
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  }
}

4. 兼容老瀏覽器

Vite 默認(rèn)情況下不支持老版本的瀏覽器,因?yàn)樗褂昧艘恍┈F(xiàn)代的 JavaScript 特性和瀏覽器原生模塊的功能。但是,您可以通過配置文件來啟用對老瀏覽器的支持。通過設(shè)置 target 選項(xiàng)為 es2015,并使用 @vitejs/plugin-legacy 插件,您可以將您的應(yīng)用程序轉(zhuǎn)換為兼容老瀏覽器的代碼。

# vite.config.js
import { defineConfig } from 'vite';
import legacy from '@vitejs/plugin-legacy';
export default defineConfig({
  plugins: [
    legacy({
      targets: ['ie >= 11'],
      additionalLegacyPolyfills: ['regenerator-runtime/runtime']
    })
  ]
});

5. TypeScript 相關(guān)

Vite 對 TypeScript 提供了原生的支持。您可以在項(xiàng)目中使用 TypeScript 來編寫代碼,并且 Vite 會自動識別和編譯 TypeScript 文件。在使用 TypeScript 的同時,您可以享受到 Vite 帶來的快速的冷啟動和熱重載的特性。

# main.ts
import { createApp } from 'vue';
import App from './App.vue';
const app = createApp(App);
app.mount('#app');

6. 基本配置

Vite 的基本配置可以通過一個名為 vite.config.js 的配置文件進(jìn)行設(shè)置。在這個配置文件中,您可以自定義各種選項(xiàng),例如入口文件、輸出路徑、插件配置等。您還可以根據(jù)需要使用不同的插件來擴(kuò)展 Vite 的功能。

# vite.config.js
import { defineConfig } from 'vite';
export default defineConfig({
  root: './src',
  base: '/my-app/',
  plugins: [],
  build: {
    outDir: '../dist',
    assetsDir: 'assets',
    sourcemap: true
  }
});

7.核心配置全集

// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import legacy from '@vitejs/plugin-legacy';
import { resolve } from 'path';
export default defineConfig({
  root: resolve(__dirname, './src'),
  base: '/my-app/',
  build: {
    outDir: resolve(__dirname, './dist'),
    assetsDir: 'assets',
    sourcemap: true,
    rollupOptions: {
      external: ['axios'],
      output: {
        globals: {
          axios: 'axios'
        }
      }
    }
  },
  plugins: [
    vue(),
    legacy({
      targets: ['ie >= 11'],
      additionalLegacyPolyfills: ['regenerator-runtime/runtime']
    })
  ],
  server: {
    port: 3000,
    proxy: {
      '/api': {
        target: 'https://api.example.com',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  }
});
  • root:指定項(xiàng)目的根目錄路徑。
  • base:指定項(xiàng)目的基礎(chǔ)路徑,用于指定靜態(tài)資源的引用路徑。
  • build:用于配置構(gòu)建相關(guān)的選項(xiàng),包括輸出目錄、靜態(tài)資源目錄、是否生成源映射等。
  • plugins:用于配置 Vite 插件,例如 @vitejs/plugin-vue 和 @vitejs/plugin-legacy。
  • server:用于配置開發(fā)服務(wù)器的選項(xiàng),包括端口號、代理等。

此外,示例代碼中還展示了一些其他的配置選項(xiàng)的使用:

  • rollupOptions:用于配置 Rollup 的選項(xiàng),例如外部依賴和全局變量。
  • proxy:用于配置開發(fā)服務(wù)器的代理選項(xiàng),用于將請求代理到其他服務(wù)器。

8.整體代碼示例

// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  },
  server: {
    port: 3000
  }
});

這是一個基本的 Vite 配置文件,包括了以下配置選項(xiàng):

  • plugins:使用 @vitejs/plugin-vue 插件來支持 Vue 單文件組件。
  • resolve.alias:設(shè)置別名,將 @ 指向項(xiàng)目的 src 目錄,方便在代碼中使用絕對路徑引入模塊。
  • server.port:設(shè)置開發(fā)服務(wù)器的端口號為 3000。

接下來,我們可以在 src 目錄下創(chuàng)建一個簡單的 Vue 應(yīng)用:

<!-- App.vue -->
<template>
  <div>
    <h1>Hello Vite!</h1>
    <p>{{ message }}</p>
  </div>
</template>
<script>
export default {
  data() {
    return {
      message: 'Welcome to Vite!'
    };
  }
};
</script>
<style>
h1 {
  color: blue;
}
</style>
// main.js
import { createApp } from 'vue';
import App from './App.vue';
createApp(App).mount('#app');

在項(xiàng)目根目錄下運(yùn)行 npm install 安裝依賴,然后使用 npm run dev 啟動開發(fā)服務(wù)器。在瀏覽器中打開 http://localhost:3000,您將看到一個簡單的 Vue 應(yīng)用,顯示 “Hello Vite!” 和 “Welcome to Vite!”。

以上就是Vite項(xiàng)目搭建與環(huán)境配置的完整版教程的詳細(xì)內(nèi)容,更多關(guān)于Vite教程的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue.js每天必學(xué)之內(nèi)部響應(yīng)式原理探究

    Vue.js每天必學(xué)之內(nèi)部響應(yīng)式原理探究

    Vue.js每天必學(xué)之內(nèi)部響應(yīng)式原理探究,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 淺析vue-router實(shí)現(xiàn)原理及兩種模式

    淺析vue-router實(shí)現(xiàn)原理及兩種模式

    這篇文章主要介紹了vue-router實(shí)現(xiàn)原理及兩種模式分析,給大家介紹了vue-router hash模式與history模式不同模式下處理邏輯,需要的朋友可以參考下
    2020-02-02
  • vue3中cookie的詳細(xì)使用過程

    vue3中cookie的詳細(xì)使用過程

    近期做的項(xiàng)目比較雜,涉及到前端框架的工作,遇到了許多問題,記錄一下這個比較棘手的問題,下面這篇文章主要給大家介紹了關(guān)于vue3中cookie的詳細(xì)使用方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • vue+flask實(shí)現(xiàn)視頻合成功能(拖拽上傳)

    vue+flask實(shí)現(xiàn)視頻合成功能(拖拽上傳)

    這篇文章主要介紹了vue+flask實(shí)現(xiàn)視頻合成功能(拖拽上傳),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Vue如何解決兄弟組件之間傳值問題

    Vue如何解決兄弟組件之間傳值問題

    這篇文章主要介紹了Vue如何解決兄弟組件之間傳值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue實(shí)現(xiàn)帶自動吸附功能的懸浮球

    vue實(shí)現(xiàn)帶自動吸附功能的懸浮球

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)帶自動吸附功能的懸浮球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue3純前端實(shí)現(xiàn)驗(yàn)證碼代碼示例

    vue3純前端實(shí)現(xiàn)驗(yàn)證碼代碼示例

    這篇文章主要介紹了驗(yàn)證碼的用途和分類,展示了如何創(chuàng)建一個簡單的純前端字符驗(yàn)證碼組件,并通過Canvas增加干擾線和干擾點(diǎn)的效果,通過Vue組件化開發(fā),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • 使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決

    使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決

    這篇文章主要介紹了使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue3純前端實(shí)現(xiàn)Vue路由權(quán)限的方法詳解

    Vue3純前端實(shí)現(xiàn)Vue路由權(quán)限的方法詳解

    這篇文章主要給大家介紹了關(guān)于Vue3純前端實(shí)現(xiàn)Vue路由權(quán)限的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Vue3具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-05-05
  • vue3項(xiàng)目打包與上線詳細(xì)圖文教程

    vue3項(xiàng)目打包與上線詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于vue3項(xiàng)目打包與上線的相關(guān)資料,在項(xiàng)目完成得差不多得時候,就可以開始打包部署了,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12

最新評論

塔河县| 宜阳县| 丽水市| 奉贤区| 同德县| 凤城市| 滨州市| 台中县| 延津县| 大悟县| 惠水县| 台江县| 芒康县| 大同市| 霍州市| 彩票| 乌拉特后旗| 张家港市| 咸丰县| 本溪| 石景山区| 福安市| 临沭县| 揭东县| 万安县| 吉林省| 宣化县| 无极县| 安龙县| 孟津县| 玉环县| 长白| 桂阳县| 霍山县| 黄骅市| 囊谦县| 宜章县| 锦州市| 大英县| 柘荣县| 安岳县|