欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2023年09月15日 08:51:57   作者:一花一world  
Vite?使用?Rollup?作為默認(rèn)的構(gòu)建工具,可以將應(yīng)用程序的源代碼打包成一個(gè)或多個(gè)優(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)用程序的源代碼打包成一個(gè)或多個(gè)優(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)建一個(gè) .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 會提供一個(gè)開發(fā)服務(wù)器,實(shí)現(xiàn)快速的冷啟動和熱重載,以便在開發(fā)過程中獲得即時(shí)的反饋。在生產(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 的同時(shí),您可以享受到 Vite 帶來的快速的冷啟動和熱重載的特性。

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

6. 基本配置

Vite 的基本配置可以通過一個(gè)名為 vite.config.js 的配置文件進(jìn)行設(shè)置。在這個(gè)配置文件中,您可以自定義各種選項(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
  }
});

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

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

接下來,我們可以在 src 目錄下創(chuàng)建一個(gè)簡單的 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,您將看到一個(gè)簡單的 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+Vant 的Uploader 實(shí)現(xiàn)上傳、壓縮、旋轉(zhuǎn)圖片功能

    移動端 Vue+Vant 的Uploader 實(shí)現(xiàn)上傳、壓縮、旋轉(zhuǎn)圖片功能

    這篇文章主要介紹了移動端 Vue+Vant 的Uploader 實(shí)現(xiàn) 上傳、壓縮、旋轉(zhuǎn)圖片功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-06-06
  • 4種方案帶你探索Vue代碼復(fù)用的前世今生

    4種方案帶你探索Vue代碼復(fù)用的前世今生

    我們所熟知的Vue.js也在如何提取公共代碼復(fù)用方面也一直在探索優(yōu)化,本文小編就來和各位聊聊Vue.js代碼復(fù)用的前世今生,希望對大家學(xué)習(xí)Vue有一定的幫助
    2023-05-05
  • vue異步組件與組件懶加載問題(import不能導(dǎo)入變量字符串路徑)

    vue異步組件與組件懶加載問題(import不能導(dǎo)入變量字符串路徑)

    這篇文章主要介紹了vue異步組件與組件懶加載問題(import不能導(dǎo)入變量字符串路徑),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解mpvue中使用vant時(shí)需要注意的onChange事件的坑

    詳解mpvue中使用vant時(shí)需要注意的onChange事件的坑

    這篇文章主要介紹了詳解mpvue中使用vant時(shí)需要注意的onChange事件的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • iview給radio按鈕組件加點(diǎn)擊事件的實(shí)例

    iview給radio按鈕組件加點(diǎn)擊事件的實(shí)例

    下面小編就為大家?guī)硪黄猧view給radio按鈕組件加點(diǎn)擊事件的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解vue實(shí)現(xiàn)坐標(biāo)拾取器功能示例

    詳解vue實(shí)現(xiàn)坐標(biāo)拾取器功能示例

    這篇文章主要介紹了詳解vue實(shí)現(xiàn)坐標(biāo)拾取器功能示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • vue與django集成打包的實(shí)現(xiàn)方法

    vue與django集成打包的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue與django集成打包的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • vue使用mui遇到的坑及解決

    vue使用mui遇到的坑及解決

    這篇文章主要介紹了vue使用mui遇到的坑及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 解決removeEventListener 無法清除監(jiān)聽的問題

    解決removeEventListener 無法清除監(jiān)聽的問題

    這篇文章主要介紹了解決removeEventListener 無法清除監(jiān)聽的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 一篇文章帶你搞懂Vue虛擬Dom與diff算法

    一篇文章帶你搞懂Vue虛擬Dom與diff算法

    這篇文章主要給大家介紹了關(guān)于Vue虛擬Dom與diff算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論