首頁 > 軟體

Vite建立Vue3專案及Vue3使用jsx詳解

2022-08-12 14:01:02

Vite建立Vue3專案

Vite 需要 Node.js 版本 >= 12.0.0。(node -v 檢視自己當前的node版本)

  • 使用 yarn:yarn create @vitejs/app
  • 使用 npm:npm init @vitejs/app

1. 輸入專案名稱

這裡輸入我們的專案名稱:vite-vue3

2. 選擇框架

這裡選擇我們需要整合的框架:vue

  • vanilla:原生js,沒有任何框架整合
  • vue:vue3框架,只支援vue3
  • react:react框架
  • preact:輕量化react框架
  • lit-element:輕量級web元件
  • svelte:svelte框架

3. 選擇不同的vue

這裡我們選擇:vue

4. 專案建立完成

5. 專案結構

專案結構非常簡單:

6. 啟動專案

  • 進入專案:cd vite-vue3
  • 安裝依賴:npm install
  • 執行專案:npm run dev 或 npx vite
  • 編譯專案:npm run build 或 npx vite build

啟動速度極快

Vue3中使用jsx

Vite建立的Vue3專案中是無法直接使用jsx 的,需要引入外掛來實現

1. 安裝外掛

  • 使用 yarn:yarn add @vitejs/plugin-vue-jsx -D
  • 使用 npm: npm i @vitejs/plugin-vue-jsx -D

2. 註冊外掛

vite.config.js 中:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from "@vitejs/plugin-vue-jsx";

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [vue(), vueJsx()]
})

3. 使用外掛

方法一:修改App.vue

不使用 jsx,App.vue是這樣:

<script setup>
import HelloWorld from './components/HelloWorld.vue';
</script>

<template>
    <img alt="Vue logo" src="./assets/logo.png" />
    <HelloWorld msg="Hello Vue 3 + Vite" />
</template>

使用 jsx,App.vue是這樣:

<script lang="jsx">
import { defineComponent } from 'vue';
import HelloWorld from './components/HelloWorld.vue';
import logo from './assets/logo.png';

export default defineComponent({
    render: () => (
        <div>
            <img alt="Vue logo" src={logo} />
            <HelloWorld msg="Hello Vue 3 + Vite" />
        </div>
    ),
});
</script>

方法二:刪除App.vue,新建App.jsx

新建App.jsx檔案

import { defineComponent } from 'vue';
import HelloWorld from './components/HelloWorld.vue';
import logo from './assets/logo.png';

export default defineComponent({
    setup () {
        return () => {
            return (
                <div>
                    <img alt="Vue logo" src={logo} />
                    <HelloWorld msg="Hello Vue 3 + Vite" />
                </div>
            )
        }
    }
});

再修改main.js的引入

import App from './App.vue' 改為 import App from './App'

import { createApp } from 'vue'
import App from './App'

createApp(App).mount('#app')

注意

  • 不支援eslint在儲存時,做eslint校驗
  • vite的編譯入口不同於webpack,不是js檔案,而是以index.html為編譯入口。在index.html中,通過<script type="module" src="/src/main.js"></script>載入main.js,這時請求到達了vite的serve層

總結

到此這篇關於Vite建立Vue3專案及Vue3使用jsx的文章就介紹到這了,更多相關Vite建立Vue3專案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com