出于某种原因,我一直在努力让Action Text(Trix编辑器)图标栏在生产(Heroku)中加载。我正在使用Rails 6和TailwindCSS构建一个相对简单的Web应用程序。Action Text在本地和生产中都功能齐全,但当样式按预期加载到我的本地机器上时,我无法让它在生产中工作。
本地主机:x1c 0d1x生产:
应用程序/javascript/样式表/应用程序.scss
@tailwind base;
@tailwind components;
@tailwind utilities;
@import 'trix/dist/trix.css';
@import "components/actiontext";
/*! purgecss start ignore */
@import "components/buttons";
@import "components/forms";
/*! purgecss end ignore */
应用程序/javascript/包/应用程序.js
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("trix")
require("@rails/actiontext")
import "stylesheets/application"
import "controllers"
应用程序/javascript/样式表/组件/操作文本.scss
@import "trix/dist/trix.css";
// trix-toolbar {
// .trix-button {
// @apply bg-white border-0;
// }
// .trix-button-group {
// border: 0;
// }
// .trix-button--icon-bold {
// @apply rounded-tl rounded-bl;
// }
// .trix-button--icon-redo {
// @apply rounded-tr rounded-br;
// }
// }
// .trix-button--icon-attach,
// .trix-button-group-spacer,
// .trix-button--icon-decrease-nesting-level,
// .trix-button--icon-increase-nesting-level,
// .trix-button--icon-code {
// display: none;
// }
.trix-button-group--file-tools { display: none !important; }
.trix-content {
.attachment-gallery {
> action-text-attachment,
> .attachment {
flex: 1 0 33%;
padding: 0 0.5em;
max-width: 33%;
}
&.attachment-gallery--2,
&.attachment-gallery--4 {
> action-text-attachment,
> .attachment {
flex-basis: 50%;
max-width: 50%;
}
}
}
action-text-attachment {
.attachment {
padding: 0 !important;
max-width: 100% !important;
}
}
}
应用程序/视图/共享/_head.html.erb(相关部分)
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
**更新:**我已经听从了Elrik的建议,从PurgeCSS中排除了Trix & actiontext.scss。现在它更好了,但仍然有一些问题:
我错过了什么?先谢了!
2条答案
按热度按时间ecbunoof1#
在这种情况下,
node_modules/trix/dist/trix.css
无法正确加载。我也遇到过这样的问题,我用以下方法解决了它:确保您的安装与Rails Action Text Documentation中描述的完全相同。我也使用了
rails action_text:install
的rails安装程序,但似乎实现了与文档中描述的略有不同的安装(可能取决于您的webpacker / sprockets设置-不知道)摘自指定的Rails文档:
trix和@rails/actiontext在您的JavaScript包中都应该是必需的。
应将trix样式表导入actiontext. scss。
此外,应该将这个actiontext.scss文件导入到样式表包中。
gorkyyrv2#
你需要告诉purgecss忽略清除trix,因为trix类是通过
form.rich_text_area
上的js加载的,它在你的文件中找不到类。快速解决方案是将其添加到javascript/stylesheets文件夹中的应用程序.scss中
这告诉purgecss在编译时不要清除trix类。
你也可以在你的whitelite中添加trix类来看看是否有用
在您的postcss.config.js中添加
我遇到了和你一样的问题,我的第一个解决方案解决了它。