项目作者: ivjose

项目描述 :
Quick setup Tailwind CSS and Next.js
高级语言:
项目地址: git://github.com/ivjose/Quick-setup-Tailwind-CSS-and-Next.js.git


Quick setup Tailwind CSS and Next.js

Install setup

Create a Next.js project

  1. npx create-next-app
  2. # or
  3. yarn create next-app

Install dependencies

Use for for conditionally joining classNames together.

  1. npm install --save classnames
  2. # or
  3. yarn add classnames

Install Tailwind and its peer-dependencies

  1. npm install tailwindcss postcss autoprefixer
  2. # or
  3. yarn add tailwindcss postcss autoprefixer

Configure and integrate Tailwind

  1. npx tailwindcss init -p
  2. # or
  3. yarn tailwindcss init -p

By default this will create a file called tailwind.config.js in your project root that looks a little like:

  1. module.exports = {
  2. purge: [],
  3. darkMode: false, // or 'media' or 'class'
  4. theme: {
  5. extend: {},
  6. },
  7. variants: {
  8. extend: {},
  9. },
  10. plugins: [],
  11. };

Configure Tailwind to remove unused styles in production

In your tailwind.config.js file, configure the purge option with the paths to all of your pages, modules, and components so Tailwind can tree-shake unused styles in production builds:

  1. module.exports = {
  2. purge: ['./pages/**/*.js', './components/**/*.js', './modules/**/*.js'],
  3. darkMode: false, // or 'media' or 'class'
  4. theme: {
  5. extend: {},
  6. },
  7. variants: {},
  8. plugins: [],
  9. };

Done with setup. That’s it! 🎉

Using Tailwind

Import Tailwind into your CSS

If you are planning to write some custom CSS in your project, use the @tailwind directive to include Tailwind’s base, components, and utilities styles inside your main CSS file styles/global.css.

  1. @tailwind base;
  2. /* Write your own custom base styles here */
  3. @tailwind components;
  4. /* Write your own custom component styles here */
  5. @tailwind utilities;
  6. /* Your own custom utilities */

Import your CSS with Next.js

Finally, ensure your CSS file is being imported in your pages/_app.js component:

  1. import '../styles/globals.css';
  2. export default function MyApp({ Component, pageProps }) {
  3. return <Component {...pageProps} ></Component>;
  4. }

Absolute Imports and Module Path Aliases

Create jsconfig.json in root directory.

  1. {
  2. "compilerOptions": {
  3. "baseUrl": ".",
  4. "paths": {
  5. "@/components/*": ["components/*"],
  6. "@/context/*": ["context/*"],
  7. "@/lib/*": ["lib/*"],
  8. "@/modules/*": ["modules/*"],
  9. "@/schema/*": ["schema/*"],
  10. "@/styles/*": ["styles/*"],
  11. }
  12. }
  13. }

Links