3

如何使 Tailwind css 在 nrwl/nx Next js 项目中工作?现在我正在使用常见的方法,但它失败了:

[ error ] ./styles/main.css
Error: Didn't get a result from child compiler

我采取的常用方法:

  1. npx create-nx-workspace@latest my-org

  2. yarn add --dev @nrwl/next

  3. nx g @nrwl/next:application my-project

  4. yarn add tailwindcss autoprefixer postcss-loader @zeit/next-css

  5. cd apps/my-project

  6. 创造

postcss.config.js
module.exports = {
  plugins: [
    require('tailwindcss'),
    require('autoprefixer')
  ]
};
  1. 创造
next.config.js
const withCSS = require('@zeit/next-css');
module.exports = withCSS({});
  1. 创造
styles/main.css
@tailwind base;
@tailwind components;
@tailwind utilities;
  1. 在页面中创建一个默认的 _app.js
  2. 在 _app.js 中添加 import '../styles/main.css'
4

2 回答 2

2

我已经解决了这个问题。这是我在 next.js 项目中添加尾风的方法

  1. 安装tailwindautoprefixer在工作区中
  2. 创建tailwind.config.jstailwind.css.
  3. 进口tailwind.css_app.tsx
  4. 创造next.config.js
const path = require('path');

module.exports = {
  webpack: config => {
    config.module.rules.push({
      test: /\.css$/,
      use: [
        {
          loader: 'postcss-loader',
          options: {
            ident: 'postcss',
            plugins: [
              require('tailwindcss')(
                path.resolve(__dirname, 'tailwind.config.js') // the absolute path of your tailwind.config.js
              ),
              require('autoprefixer')
            ]
          }
        }
      ],
      // the absolute path of the folder contains tailwind.css
      // I reuse tailwind.css across projects and libs so I put it in the workspace root
      // Maybe I should create a lib for it.
      include: path.resolve('./global') 
    });

    return config;
  }
};

如果您想将 Tailwind 与 lib 的故事书或其他框架的项目集成,则类似。只需找到将规则推送到 webpack 配置的方法。

希望能帮助到你。

于 2020-01-24T04:04:08.877 回答
0

如果您使用新版本 - 9.2,那么您需要这篇文章:

https://nextjs.org/blog/next-9-2

并更新了 Next.js 9.2 的设置示例:

https://github.com/tailwindcss/setup-examples/pull/50

我试过了,它对我很有用。

于 2020-01-22T17:42:41.267 回答