【发布时间】:2017-11-26 08:23:42
【问题描述】:
问题
我正在使用语义 UI,该应用在开发中完美呈现图标字体:
错误详情
在开发中,此文件位于:
http://localhost:3000/assets/semantic-ui-css/themes/default/assets/fonts/icons.woff2
在生产中,我收到以下错误:
planetlauncher.herokuapp.com/:1 获取 https://planetlauncher.herokuapp.com/assets/themes/default/assets/fonts/icons.woff planetlauncher.herokuapp.com/:1 获取 https://planetlauncher.herokuapp.com/assets/themes/default/assets/fonts/icons.ttf 404(未找到)
背景
- Webpack 与
rails new --webpack:react命令捆绑安装。 - 通过
yarn add semantic-ui-css安装的语义用户界面 -
Application.css包括:*= require 'semantic-ui-css/semantic.min.css -
assets.rb包括:Rails.application.config.assets.paths << Rails.root.join('node_modules')Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/
另外,由于我的 react web pack 依赖,我无法预编译资产并且必须回退到 heroku 资产管道。
【问题讨论】:
-
我可以看到这里发生了什么,我自己也有同样的情况——
node_modules中的 css 引用的任何文件都将不起作用,因为它是由例如url('asset.css')而不是asset-url('asset.css')引用的(这将获取指纹网址)。你找到解决办法了吗? -
@SamPeacey 你是对的。我忘了用我得到的新信息更新这个问题。就可以了
-
感谢您的更新!为了自己解决这个问题,我最终只是通过 webpacker 编译它们,而不是使用资产管道
-
@SamPeacey 听起来棒极了!你能提交你的解决方案作为这个问题的答案吗?我会接受你的,它会帮助很多未来的人。
标签: ruby-on-rails asset-pipeline