首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 5资产命名

Rails 5资产命名
EN

Stack Overflow用户
提问于 2016-11-28 02:55:14
回答 1查看 248关注 0票数 0

为什么我的主要scss文件需要被称为'application.scss'?为什么不能将其命名为“foo.scss”并包含在application.html.erb中?

manifest.js

代码语言:javascript
复制
// JS and CSS bundles
//
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css


// Images and fonts so that views can link to them
//
//= link_tree ../fonts
//= link_tree ../images

Css导入

代码语言:javascript
复制
<%= stylesheet_link_tag 'foo', media: 'all' %>

使用“foo.scss”时出错

资产在生产中未被宣布为预编译。将Rails.application.config.assets.precompile += %w( foo.css )添加到config/initializers/assets.rb并重新启动服务器

如果我使用文件名'application.scss‘,它就能正常工作。

EN

回答 1

Stack Overflow用户

发布于 2016-11-28 04:55:26

Rails预编译资产。编译文件的默认匹配程序包括application.jsapplication.css和所有来自app/assets文件夹的非JS/CSS文件(这将自动包括所有图像资产),其中包括您的宝石:

代码语言:javascript
复制
[ Proc.new { |filename, path| path =~ /app\/assets/ && !%w(.js .css).include?(File.extname(filename)) }, /application.(css|js)$/ ]

如果要包含其他manifests或单独的stylesheetsJavaScript文件,则可以将它们添加到config/initializers/assets.rb中的预编译数组中。

代码语言:javascript
复制
Rails.application.config.assets.precompile += %w( foo.js foo.css )

因此,这告诉rails在生产模式下预编译manifest文件。这就是您的错误在assets.rb中添加并重新启动服务器时所说的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40836529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档