最近在Nuxt3项目中使用tailwindcss碰到一些问题,经研究后把问题解决,为避免此类问题特此把解决过程写下来做个记录。
Nuxt3官网
tailwindcss官网
创建Nuxt3应用
须确保node.js版本大于16.11
Nuxt3创建命令 :
npx nuxi init <project-name>
复制
在vs code中打开 <project-name> 文件夹:
code <project-name>
复制
安装依赖项:
yarn install // or npm install
复制
启动Nuxt应用:
yarn dev -o
复制
安装Tailwindcss
1、通过yarn或npm安装 tailwindcss 及其依赖项
yarn add -D tailwindcss postcss autoprefixer // or npm install -D tailwindcss postcss autoprefixer
复制
安装好的依赖在package.json当中查看。
复制
{ "private": true, "scripts": { "build": "nuxt build", "dev": "nuxt dev", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare" }, "devDependencies": { "@types/node": "^18.14.3", "autoprefixer": "^10.4.13", "nuxt": "^3.2.2", "postcss": "^8.4.21", "tailwindcss": "^3.2.7" }, "dependencies": {} }
2、然后运行init命令生成文件 ‘tailwind.config.js’
npx tailwindcss init
复制
3、添加 ‘tailwindcss’ 和 ‘autoprefixer’ 到nuxt.config.ts文件当中。
// https://v3.nuxtjs.org/api/configuration/nuxt.config export default defineNuxtConfig({ postcss: { plugins: { tailwindcss: {}, autoprefixer: {}, }, }, })
复制
4、配置模板路径 ---- 将路径添加到tailwind.config.js文件中
/** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./components/**/*.{js,vue,ts}", "./layouts/**/*.vue", "./pages/**/*.vue", "./plugins/**/*.{js,ts}", "./nuxt.config.{js,ts}", "./app.vue", ], theme: { extend: {}, }, plugins: [], }
复制
5、将 Tailwind 指令添加到Nuxt3项目CSS当中
在assets/css文件夹下创建一个名为 ‘tailwind.css’的文件,并把下列代码添加到 ‘tailwind.css’文件当中;创建好的目录层级应为 ‘assets/css/tailwind.css’
@tailwind base; @tailwind components; @tailwind utilities;
复制
6、全局添加CSS文件
将新创建的 ‘tailwind.css’文件路径添加到 ‘nuxt.config.ts’文件中。路径为‘~/assets/css/tailwind.css’
// https://v3.nuxtjs.org/api/configuration/nuxt.config export default defineNuxtConfig({ css: ['~/assets/css/tailwind.css'], postcss: { plugins: { tailwindcss: {}, autoprefixer: {}, }, }, })
复制
7、启动项目
yarn dev // or npm run dev
复制
使用Tailwindcss
前期准备工作已经做完,下面写个小Demo来验证;
第一步先写下一个input输入框
<input placeholder="请输入"/>
复制
浏览器查看可以看到我们写的输入框只有placeholder提示并显示没有边框等其他属性;这是由于tailwindcss预处理样式导致;
接下来我们为输入框添加边框
<input placeholder="请输入..." class="border" />
复制
这时候可以看到输入框的边框已经显示出来了;
我们可以再添加一些 tailwindcss 样式类 把输入框变得更美观
<input class="w-1/3 border-4 border-green-500 px-2 py-2 rounded-lg placeholder-green-500 block border-double focus:outline-none focus:ring focus:border-blue-500" placeholder="请输入..." />
复制
选中效果
<input class="w-1/3 border-4 px-2 py-2 placeholder-orange-400 border-orange-400 rounded-lg block focus:outline-none focus:ring focus:border-orange-500 ring-yellow-400" placeholder="请输入..." />
复制
选中效果
通过浏览器查看我们可以确定tailwindcss在Demo已经生效。
需要tailwindcss在项目中发挥更大的作用,可以查看Tailwindcss文档学习使用;
记录到此告一段落~~~