Vite創(chuàng)建Vue3項目及Vue3使用jsx詳解
Vite創(chuàng)建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. 項目創(chuàng)建完成

5. 項目結(jié)構(gòu)
項目結(jié)構(gòu)非常簡單:

6. 啟動項目
- 進入項目:
cd vite-vue3 - 安裝依賴:
npm install - 運行項目:
npm run dev或npx vite - 編譯項目:
npm run build或npx vite build
啟動速度極快:


Vue3中使用jsx
Vite創(chuàng)建的Vue3項目中是無法直接使用jsx 的,需要引入插件來實現(xiàn)
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層
總結(jié)
到此這篇關(guān)于Vite創(chuàng)建Vue3項目及Vue3使用jsx的文章就介紹到這了,更多相關(guān)Vite創(chuàng)建Vue3項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Element-UI實現(xiàn)復雜table表格結(jié)構(gòu)的操作代碼
Element-UI組件el-table用于展示多條結(jié)構(gòu)類似的數(shù)據(jù),可對數(shù)據(jù)進行排序、篩選、對比或其他自定義操作,本文給大家介紹Element-UI實現(xiàn)復雜table表格結(jié)構(gòu)的操作代碼,感興趣的朋友一起看看吧2023-12-12
vue3中使用pinia(大菠蘿)狀態(tài)管理倉庫的項目實踐
本文主要介紹了vue3中使用pinia(大菠蘿)狀態(tài)管理倉庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
vue實現(xiàn)全屏滾動效果(非fullpage.js)
這篇文章主要為大家詳細介紹了vue實現(xiàn)全屏滾動效果,非fullpage.js,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03
Vue子級如何向父級傳遞數(shù)據(jù)(自定義事件)
這篇文章主要介紹了Vue子級如何向父級傳遞數(shù)據(jù)(自定義事件),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
atom-design(Vue.js移動端組件庫)手勢組件使用教程
這篇文章主要介紹了atom-design(Vue.js移動端組件庫)手勢組件使用教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05

