###### tags: `wordpress`,`php`, `tailwind`, `vite`,`打包`,`熱更新`
# 🔍wordpress 整合 vite tailwind 熱更新 詳細解說 👊
---
## 建立資料夾:
### 建立 assets
```php=
```
💬說明:在根目錄建立 assets 資料夾
## 安裝 tailwind:
### 終端機指令 ; /assets/ ; package.json
```javascript=
<!-- 步驟1 終端機指令1 -->
步驟1 終端機指令1
npm install -D tailwindcss
<!-- 步驟1 終端機指令1 -->
<!-- 步驟2 終端機指令2 -->
npx tailwindcss init
<!-- 步驟2 終端機指令2 -->
<!-- 步驟3 建立檔案 -->
在assets資料夾建立 tailwind.css 並加入以下程式碼
/*!
Theme Name: WordPress + Tailwind
*/
@tailwind base;
@tailwind components;
@tailwind utilities;
<!-- 步驟3 建立檔案 -->
<!-- 步驟4 終端機指令3 -->
npx tailwindcss -i ./assets/tailwind.css -o ./assets/global.css --watch
<!-- 步驟4 終端機指令3 -->
<!-- 步驟5 編輯檔案 -->
編輯 package.json 檔案,在 "scripts" 裡加入 npm 快捷鍵程式碼
tailwindcss -i ./assets/tailwind.css -o ./assets/global.css --watch
<!-- 步驟5 編輯檔案 -->
```
💬說明:
步驟1:安裝 tailwind
步驟2:tailwind 初始化,生成 tailwind.config.js
步驟3:在assets資料夾建立 tailwind.cssv
步驟4:指定 tailwind 檔案輸入與輸出建立的位置
步驟5:編輯 package.json 檔案,可以輸入 npm run css 執行
## 安裝 vite:
### 終端機 ;
```javascript=
<!-- 步驟1 終端機指令1 -->
npm install -D vite
npm install -D scss//vite 認識scss語法
npm install -D vite-plugin-live-reload//vite即時預覽外掛程式
<!-- 步驟1 終端機指令1 -->
<!-- 步驟2 檢查檔案 -->
檢查 package.json 的 scripts,是否有
"dev": "vite",
"build": "vite build",
<!-- 步驟2 檢查檔案 -->
<!-- 步驟3 檢查檔案 -->
檢查根目錄是否有創建 vite.config.js
如果沒有自行創建 程式碼內容如下
import { defineConfig } from "vite"; //vite 主要套件
import liveReload from "vite-plugin-live-reload"; //vite 熱更新套件
import { resolve } from "path";
export default defineConfig({
plugins: [
liveReload(__dirname + "/**/*.php"), // 添加vite插件(即時更新檔案名稱)
liveReload(__dirname + "/**/*.js"),
],
root: "",
base: process.env.NODE_ENV === "development" ? "/" : "/dist/",
// 配置build打包
build: {
outDir: resolve(__dirname, "./dist"),
emptyOutDir: true,
manifest: true,
target: "es2018",
rollupOptions: {
input: {
global: resolve(__dirname, "./assets/global.css"), // 新增 global.css 入口
script: resolve(__dirname, "./assets/js/script.js"), // 新增 script.js 入口
},
output: {
entryFileNames: "[name].js",
chunkFileNames: "[name].js",
assetFileNames: "[name].[ext]",
},
},
minify: true,
write: true,
},
// server: {
// cors: true,
// strictPort: true,
// port: 5174,
// https: false,
// hmr: {
// host: "localhost",
// },
// },
});
<!-- 步驟3 檢查檔案 -->
```
💬說明:
步驟1:安裝 vite
步驟2:檢查檔案
步驟3:檢查檔案
## 建立即時預覽:
### 建立 vite.entry.js
```javascript=
import "./assets/global.css";
import "./assets/js/script.js";
```
💬說明:把想要即時預覽的檔案 import 進去
## vite 即時熱更新:
### functions.php ; wp-config.php
```php=
<!-- 步驟1:functions.php 加入程式碼 -->
<?php
/*
* vite 專用
*/
function vite_dev_script()
{
if (
!defined('VITE_ENV') ||
!defined('VITE_DEV_SERVER') ||
constant('VITE_ENV') !== 'development'
) {
return;
}
$entry_file = constant('VITE_DEV_SERVER') . 'vite.entry.js';
echo '<script type="module" src="' . esc_attr($entry_file) . '"></script>';
}
add_action('wp_head', 'vite_dev_script');
?>
<!-- 步驟1:functions.php 加入程式碼 -->
<!-- 步驟2:頂層 wp-config.php 加入程式碼 -->
<?php
// 加入這個變數代表是開發環境
define('VITE_ENV', 'development');
define('VITE_DEV_SERVER', 'http://localhost:5173/');
?>
<!-- 步驟2:頂層 wp-config.php 加入程式碼 -->
```
💬說明:
步驟1:functions.php 加入程式碼
步驟2:wp-config.php 加入程式碼
## 啟動熱更新
### 依序執行終端機程式碼
```javascript=
npm run css//執行tailwind
npm run dev//執行vite
vite 出現的本地端網域應該是 http:\\localhost:5173\,如果不是就依照出現的網域開啟網頁,在用自己需編輯的網域覆蓋即可
本地端網址,例如:localhost:8888/test
```
💬說明:依序執行即可,如果不用 tailwind 省略安裝 tailwind 和執行 tailwind 的步驟即可