ruby-on-rails - Rails 6:我无法安装顺风
问题描述
我正在尝试在 RoR 6.1.3 和 Ruby 2.7.2 应用程序中安装 Tailwind CSS 2.0。我只是在 localhost 的输出中没有看到任何样式更新,并且出现任何错误,除非使用 bin/webpack :
./app/assets/stylesheets/application.css 中的错误 (./node_modules/css-loader/dist/cjs.js??ref--5-1!./node_modules/postcss-loader/src??ref-- 5-2!./app/assets/stylesheets/application.css) 模块构建失败(来自 ./node_modules/postcss-loader/src/index.js):错误:在 [ .. .../app/assets/stylesheets ] 在 ..../node_modules/postcss-import/lib/resolve-id.js:35:13 @ ./app/assets/stylesheets/application.css 2:26-171 @ ./app/javascript/packs/application.js
应用程序/javascript/packs/application.js
import '../utils/direct_uploads.js';
ActiveStorage.start()
require("../../assets/stylesheets/application.css")
包.json
"@babel/core": "^7.12.1",
"@babel/preset-env": "^7.6.0",
"@rails/actiontext": "^6.0.0",
"@rails/webpacker": "5.2.1",
"@tailwindcss/postcss7-compat": "^2.0.4",
"activestorage": "^5.2.3",
"autoprefixer": "^9",
"axios": "^0.19.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"gmaps": "^0.4.24",
"js-cookie": "^2.2.0",
"leaflet": "^1.4.0",
"lodash.debounce": "^4.0.8",
"postcss": "^7",
"postcss-cssnext": "^3.1.0",
"stimulus": "2.0",
"tailwindcss": "npm:@tailwindcss/postcss7-compat",
"trix": "^1.0.0"
},
/postcss.config.js
module.exports = {
plugins: [
require('tailwindcss')('./tailwind.config.js'),
require('autoprefixer'),
require('postcss-import'),
require('postcss-flexbugs-fixes'),
require('postcss-preset-env')({
autoprefixer: {
flexbox: 'no-2009'
},
stage: 3
})
]
}
应用程序/资产/样式表/application.css
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
应用程序.html.erb
<%= javascript_pack_tag 'application' %>
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= stylesheet_pack_tag 'application', media: 'all' %>
在测试页面上,我收到这些错误:
ActionController::RoutingError (No route matches [GET] "/assets/tailwindcss/base"):
ActionController::RoutingError (No route matches [GET] "/assets/tailwindcss/components"):
ActionController::RoutingError (No route matches [GET] "/assets/tailwindcss/utilities"):
我该如何解决?
解决方案
像这样导入你的 postcss 插件能解决你的问题吗?
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
...
},
}
推荐阅读
- php - 在开关循环内切换......我的代码有什么问题?
- jupyter-notebook - 如何为不同的 conda 环境更改 Jupyter 启动文件夹
- c - inet_ntop 导致分段错误
- sql - 循环查找相关记录
- r - 使用 RQDA 进行自动编码
- javascript - 将图像设置为three.js场景背景使其模糊
- python - 如何修复 AttributeError:模块“tensorflow”没有属性“reset_default_graph”
- c# - 各种版本的windows的单元测试
- sql-server - 如何防止 SQL Server 在并行插入时锁定表?
- python - 在同一行中延迟打印字符串中的所有字符