我一直在使用 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",