angular - 安装 Tailwind 后尝试运行 ng 时,Angular 模块构建失败
问题描述
安装@ngneat/tailwind后 尝试运行 `ng 时出现以下错误。我该如何解决 ?
这是我当前的角度版本:
角版
Angular CLI: 11.2.1
Node: 14.13.0
OS: win32 x64
Angular: 11.2.1
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Ivy Workspace: Yes
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1001.7
@angular-devkit/build-angular 0.1001.7
@angular-devkit/core 10.1.7
@angular-devkit/schematics 11.2.1
@schematics/angular 11.2.1
@schematics/update 0.1102.1
rxjs 6.6.3
typescript
错误
Error: ./src/styles.css
Module build failed (from ./node_modules/@angular-builders/custom-webpack/node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/@angular-builders/custom-webpack/node_modules/postcss-loader/dist/cjs.js):
TypeError: getProcessedPlugins is not a function
at C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\tailwindcss\lib\processTailwindFeatures.js:75:83
at LazyResult.runOnRoot (C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\@angular-builders\custom-webpack\node_modules\postcss\lib\lazy-result.js:303:16)
at LazyResult.runAsync (C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\@angular-builders\custom-webpack\node_modules\postcss\lib\lazy-result.js:355:26)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async Object.loader (C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\@angular-builders\custom-webpack\node_modules\postcss-loader\dist\index.js:95:14)
at C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\@angular-builders\custom-webpack\node_modules\webpack\lib\NormalModule.js:316:20
at C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\loader-runner\lib\LoaderRunner.js:367:11
at C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\loader-runner\lib\LoaderRunner.js:233:18
at context.callback (C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
at Object.loader (C:\Users\Administrator\Desktop\Projects\mapurbiz\mapurbiz\node_modules\@angular-builders\custom-webpack\node_modules\postcss-loader\dist\index.js:104:7)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
包.json
{
"name": "mapurbiz",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~11.2.1",
"@angular/common": "~11.2.1",
"@angular/compiler": "~11.2.1",
"@angular/core": "~11.2.1",
"@angular/forms": "~11.2.1",
"@angular/platform-browser": "~11.2.1",
"@angular/platform-browser-dynamic": "~11.2.1",
"@angular/router": "~11.2.1",
"@ngneat/tailwind": "^6.0.3",
"@types/leaflet": "^1.5.23",
"leaflet": "^1.7.1",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-builders/custom-webpack": "11.0.0",
"@angular-devkit/build-angular": "^0.1001.7",
"@angular/cli": "~11.2.1",
"@angular/compiler-cli": "~11.2.1",
"@tailwindcss/aspect-ratio": "0.2.0",
"@tailwindcss/forms": "0.2.1",
"@tailwindcss/line-clamp": "0.2.0",
"@tailwindcss/typography": "0.4.0",
"@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~6.1.1",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"postcss-ng-tailwind-in-components": "0.0.3",
"protractor": "~7.0.0",
"tailwindcss": "2.0.3",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "^4.1.5"
}
}
解决方案
由于 PostCSS 7 兼容性构建的问题。从 v2.0 开始,Tailwind CSS 依赖于 PostCSS 8。因为 PostCSS 8 距离这个日期只有几个月的历史,生态系统中的许多其他工具还没有更新,这意味着您可能会在终端中看到类似这样的错误. 您可以在顺风官方网站上阅读有关此内容的信息。
或继续这里:
如果您遇到上述错误,请卸载 Tailwind 并使用兼容性版本重新安装:
npm uninstall tailwindcss postcss autoprefixer
npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9
兼容性构建在各个方面都与主构建相同,因此您不会错过任何功能或类似的东西。
一旦您的其他工具添加了对 PostCSS 8 的支持,您就可以通过使用 latest 标签重新安装 Tailwind 及其对等依赖项来摆脱兼容性构建:
npm uninstall tailwindcss @tailwindcss/postcss7-compat
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
推荐阅读
- python - 任何人都知道为什么它只刮了 1 页
- python - Python。要求用户输入文件名
- json - 如何在 Flutter 项目中显示来自 Firebase 的 QueryDocumentSnapshot?(颤振,Firebase,Json,飞镖)
- python - 在 Python 中重新绑定函数名称
- python - 使用 selenium 进行 Web 抓取 - 返回 0 条记录
- flutter - 我正在将颤振用于聊天应用程序,并且在用户区分接收方和发送方时出现错误
- php - Wordpress 如何在索引页面中显示所有帖子并排除粘性帖子
- php - Woocommerce 仅在成功付款后创建订单
- tensorflow - 如何修改 Tensorflow 2.0 中的 epoch 数?
- laravel - 如何将excel数据导入laravel