成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

定制一個 Vue 3 模板 - 集成 Vite, Pinia, Vue Router 與 Tailwind CSS

開發 前端
為什么不把這些可重復使用的部分重新利用起來,把它們簡單地堆在一個模板里呢?

不久前,我意識到我正在用一些重復使用的后臺基礎模板,浪費了我一些摸魚時間,我突然想到--為什么不把這些可重復使用的部分重新利用起來,把它們簡單地堆在一個模板里呢?

技術棧

這個后臺模板中,用到了如下的框架或庫:

  • Vite
  • Pinia
  • Vue Router
  • Tailwind CSS
  • Vite SVG loader

前提

開始之前,首先要安裝 Node.js,這個自行百度解決。

快速入門 - Vue, Router & Store

我們先從初始化模板開始:

npm init vue@latest

接著輸入項目名稱 vue3-boilerplate,然后在功能提示中選擇安裝 Pinia和 Vue Router:

? Project name: vue3-boilerplate
...
? Add Vue Router for Single Page Application development? Yes
? Add Pinia for state management? Yes

根據提示,選擇所需功能后,執行如下命令:

cd vue3-boilerplate
npm install
npm run dev

運行后在本地開發環境中查看 http://127.0.0.1:5173 此示例頁面:

添加 Tailwind CSS

有了基礎后,現在我們需要一些樣式。按照這個指南,我們安裝Tailwind CSS,然后初始化配置文件。

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

安裝完后,在根目錄中,會有一個 tailwind.config.js文件,填充內容如下:

/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"],
theme: {
extend: {},
},
plugins: [],
};

接下來,我們需要加載 @tailwind 指令,所以在 /src/assets 文件夾中創建tailwind.css,其中包含以下內容(指令):

@tailwind base;
@tailwind components;
@tailwind utilities;

然后在 /src/assets/main.css 頂部導入它:

@import "./tailwind.css";

由于我們已經在 /src/main.js 中導入了 /src/assets/main.css 文件,所以,現在就可以在項目中使用 Tailwind 的實用類了。

我們在 /src/views/AboutView.vue 中的 h1 標簽添加一些實用類來測試一下:

<template>
<div class="about">
<h1 class="text-xl font-medium text-white">This is an about page</h1>
</div>
</template>

我們也可以在下面單獨定義我們的CSS屬性。要做到這一點,需要安裝這個PostCSS插件 - postcss-import

npm install -D postcss-import

接著,在實用類中使用 @apply:

<style lang="scss">
.about {
@apply lg:min-h-screen lg:flex lg:items-center;
h1 {
@apply text-xl font-medium text-white;
}
}
</style>

添加 SVG loader (可選)

我比較喜歡SVG,恰好,我們新的模板可以很容易地導入SVG圖像,但有一個問題--我們必須把它作為組件使用,這意味著需要手動在模板標簽中添加SVG代碼,然后像這樣導入。

幸運的是,有這樣一個 vit-svg-loader 包,它基本上可以讓我們在Vue模板中簡單地導入 .svg 文件作為組件。

首先,安裝它:

npm install vite-svg-loader --save-dev

在 vite.config.js 配置文件中添加這個插件:

import svgLoader from 'vite-svg-loader'
export default defineConfig({
plugins: [vue(), svgLoader()],
...
})

最后,為了測試,把/src/assets/logo.svg 中的 Vue logo 代碼改成這個,然后保存:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 2454.32 2457.41"><defs><linearGradient id="a" x1="285.11" y1="1790.44" x2="285.7" y2="1789.74" gradientTransform="matrix(2454.32, 0, 0, -2187.24, -699180.9, 3916163.49)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#41d1ff"/><stop offset="1" stop-color="#bd34fe"/></linearGradient><linearGradient id="b" x1="285.22" y1="1790.33" x2="285.29" y2="1789.46" gradientTransform="matrix(1125.42, 0, 0, -2051.66, -319596.68, 3673197.31)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffea83"/><stop offset="0.08" stop-color="#ffdd35"/><stop offset="1" stop-color="#ffa800"/></linearGradient></defs><path d="M2464.14,381.6,1311.22,2443.21c-23.8,42.57-85,42.82-109.12.46L26.33,381.79C0,335.63,39.47,279.72,91.78,289.08L1245.93,495.37a62.88,62.88,0,0,0,22.27,0l1130-206C2450.35,279.87,2490,335.35,2464.14,381.6Z" transform="translate(-17.94 -17.87)" style="fill:url(#a)"/><path d="M1795.71,18.48,942.53,185.66a31.33,31.33,0,0,0-25.25,28.9L864.8,1101a31.33,31.33,0,0,0,29.41,33.14,31.77,31.77,0,0,0,8.91-.75l237.54-54.82a31.32,31.32,0,0,1,37.73,36.79l-70.57,345.59a31.33,31.33,0,0,0,39.8,36.24l146.72-44.57a31.34,31.34,0,0,1,39.79,36.32L1222,2031.73c-7,33.95,38.14,52.47,57,23.36l12.59-19.44L1986.77,648.19c11.65-23.23-8.44-49.72-33.94-44.79l-244.52,47.18a31.33,31.33,0,0,1-36-39.44L1831.86,57.91a31.34,31.34,0,0,0-36.14-39.43Z" transform="translate(-17.94 -17.87)" style="fill:url(#b)"/></svg>

然后在 /src/App.vue 文件中,把它作為SVG組件導入,并用<img class="logo" />替換它。

<script setup>
...
import LogoSVG from './assets/logo.svg?component'
</script>
<template>
...
<LogoSVG alt="Vite logo" class="logo" />
...
</template>

至此,一個簡單的模板框架就搭建完啦。

下一步是什么?

你可以將它,發布到 npm 上,然后可以類似的命令安裝:

npm i @richardecom/vue3-boilerplate

下面還有份清單,你可以選擇性添加進去:

  • NuxtJS
  • Vue Meta
  • VeeValidate
  • Vue Toastification
責任編輯:姜華 來源: 今日頭條
相關推薦

2022-12-12 08:56:45

Vite3Vite

2024-04-08 07:28:27

PiniaVue3狀態管理庫

2022-09-30 09:33:55

ViteCLI

2024-11-06 10:16:22

2020-03-09 09:07:51

Vue根節點Fragments

2021-07-07 08:00:50

Vue3 router-linAppLink

2024-04-10 08:27:32

PiniaVue3持久化插件

2024-04-02 08:50:08

Go語言react

2024-03-01 11:32:22

Vue3APIVue.js

2023-11-01 08:36:07

CSSTailwind

2022-07-18 10:43:12

項目TienChinJava

2022-05-23 08:59:02

piniavue插件

2022-09-20 11:00:14

Vue3滾動組件

2021-12-16 08:47:56

Vue3 插件Vue應用

2024-09-23 00:01:00

TailwindCSSSASS

2022-07-27 08:40:06

父子組件VUE3

2022-08-09 10:00:57

ViteTypeScripVue3

2025-06-06 08:49:10

Vue3項目Pinia

2021-09-26 00:24:58

開發項目TypeScript

2020-12-15 08:16:44

Vite工具系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 视频一区二区三区四区五区 | 久久999| 亚洲三区在线观看 | 91色视频在线观看 | 久久视频免费观看 | 国产超碰人人爽人人做人人爱 | 国产亚洲一区二区三区 | 一区二区三区中文字幕 | 成人高清网站 | 日本一道本 | 在线一区二区国产 | 久久久综合网 | 国产高清在线精品 | 欧美激情视频一区二区三区在线播放 | 成人黄色在线 | 国产精品美女久久久久久免费 | 在线色网| 久久久久国产 | 黄网站在线播放 | 精品国产伦一区二区三区观看体验 | 欧美日韩在线免费 | 国产视频亚洲视频 | 国产免费高清 | 亚洲最大的黄色网址 | 在线一级片 | 久久久久国产视频 | 国产日产精品一区二区三区四区 | 伊人免费在线观看高清 | 欧美精品一区二区三区在线播放 | 精品国产成人 | 久久免费精品 | 少妇无套高潮一二三区 | 欧美一区二区三区在线 | 国产精品久久久久久久久久不蜜臀 | 精品日韩一区二区 | 欧美一区二区在线观看 | 久久69精品久久久久久久电影好 | 欧美亚洲一区二区三区 | 国产精品久久精品 | www.久久影视 | 日日噜噜噜夜夜爽爽狠狠视频97 |