0

我一直在使用 react 和 tailwind 进行项目。今天我在 CD 过程中遇到了一个构建问题。我试图在我的本地环境中进行构建,但问题仍在继续。我们没有更改任何配置文件。检查了最后一次提交,但没有看到任何重大更改。它包括每日错误修复和一些新的开发。

控制台上的错误:

yarn build
yarn run v1.22.5
$ yarn run tailwind && yarn run purge-tailwind && cross-env GENERATE_SOURCEMAP=false react-scripts build
$ tailwind build ./src/styles/tailwind-config.css -c ./tailwind.config.js -o ./src/styles/tailwind.css

   tailwindcss 1.9.6

    Building: src/styles/tailwind-config.css

   ✅ Finished in 10 s
    Size: 12.34MB
    Saved to src/styles/tailwind.css

$ node ./purge-tailwindcss.js
C:\Users\10014248\Documents\GitHub\FrontEnd\node_modules\purgecss\lib\purgecss.js:702
            throw _iteratorError5;
            ^

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (fs.js:614:3)
    at tryReadSync (fs.js:383:20)
    at Object.readFileSync (fs.js:420:19)
    at Purgecss.extractFileSelector (C:\Users\10014248\Documents\GitHub\FrontEnd\node_modules\purgecss\lib\purgecss.js:673:32)
    at Purgecss.purge (C:\Users\10014248\Documents\GitHub\FrontEnd\node_modules\purgecss\lib\purgecss.js:443:35)
    at Object.<anonymous> (C:\Users\10014248\Documents\GitHub\FrontEnd\purge-tailwindcss.js:29:25)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14) {
  errno: -4068,
  syscall: 'read',
  code: 'EISDIR'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

清除顺风文件:

/* eslint-disable import/no-extraneous-dependencies */
const Purgecss = require('purgecss');
const fs = require('fs');
const path = require('path');


class TailwindExtractor {
    static extract(content) {
        // eslint-disable-next-line no-useless-escape
        return content.match(/[A-Za-z0-9-_:\/]+/g) || [];
    }
}

const purgecss = new Purgecss({
    content: ['./src/**/*.js'],
    css: ['./src/styles/tailwind.css'],
    whitelist: ['pl-24', 'pl-40', 'pl-56', 'pl-72', 'pl-80'],
    extractors: [
        {
            extractor: TailwindExtractor,
            extensions: ['html', 'js']
        }
    ]
});

const result = purgecss.purge();

result.forEach(out => {
    fs.writeFileSync(path.resolve(__dirname, out.file), out.css, 'utf-8');
});

我的构建脚本:

    "build": "yarn run tailwind && yarn run purge-tailwind && cross-env GENERATE_SOURCEMAP=false react-scripts build",
4

0 回答 0