Ruby on rails rails资源管道重复css链接标记
我的application.css文件如下所示:Ruby on rails rails资源管道重复css链接标记,ruby-on-rails,ruby-on-rails-4,asset-pipeline,Ruby On Rails,Ruby On Rails 4,Asset Pipeline,我的application.css文件如下所示: *= require_tree ./external *= require_tree ./production *= require_self *= require custom 我有几个问题: 为什么我需要你自己?application.css不会自动生成包含其中所有内容的css文件,那么为什么我需要说包含它自己呢 该文件为其调用的每个文件生成css链接标记,然后在application.css文件中重复每个文件: <link rel=
*= require_tree ./external
*= require_tree ./production
*= require_self
*= require custom
我有几个问题:
<link rel="stylesheet" media="all" href="/assets/external/font-awesome-2137eff45e0b64a17b4133bd2ddbdd78.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/external/font-classic1-75487e58c5e0c1ab46da239ad0414945.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/external/font-classic2-9acd884646fab77078ff59ccede6af64.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/external/font-classic3-640d45ed2364d0dff5a81ef9ce2c22fa.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/animate-5a353aa5390410216c837f4dbdf1e161.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/bootstrap-d2f563dbd757e49a399f0a7ed5febeae.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/contacters-64e62ddc273c2f5847f30d698ca14b67.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/jcagency-25ee42f4b0d3c4fe0df1eceb8f9fb6f8.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/owl.carousel-a12c5f6eb71a13cfc44317722283736c.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/owl.theme-691a2eb3c8d303b6416d9876419fec29.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/owl.transitions-1b9d47a45c85e9fa3f2f990b6d59519a.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/quotes-64e62ddc273c2f5847f30d698ca14b67.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/static_pages-64e62ddc273c2f5847f30d698ca14b67.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/style-3fe936e1b22ddf4d10e11085bac9a58c.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/production/styles-switcher-c79d19bcbdf90ee639dcfb1363d8f64c.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/application-951210d1179df1d65814be3ec67080c4.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/custom-235702796c9fbc52681919853d66009b.css?body=1" data-turbolinks-track="true" />
这不坏吗?我怎样才能让它不再重复*=require\u self
。它所做的是将所有css放置在应用程序中。css的位置由所需的css的顺序决定。
事实上,去掉它是很好的,因为你应该避免把你的css放在application.css中。
如果你不把*=require\u self
放在任何地方,self中的css仍然会被加载,但它将是最后一个包含的样式表
*=require\u self
。它所做的是将所有css放置在应用程序中。css的位置由所需的css的顺序决定。
事实上,去掉它是很好的,因为你应该避免把你的css放在application.css中。
如果你不把*=require\u self
放在任何地方,self中的css仍然会被加载,但它将是最后一个包含的样式表
我仍然不确定我是否理解require_self的工作。包含所有文件的application.css文件仍然在预编译时创建,即使我没有包含require_self…这个答案在技术上是正确的,但有点混乱
require\u self
指定application.CSS的CSS内容的排列顺序(在开发中)或连接顺序(在生产中)。在您的示例中,application.css显示在style_switcher.css之后,但在custom.css之前。如果您删除了require\u self
,application.css将默认显示在末尾-即在custom.css.updated my answer之后,以使其更清晰。是的,它仍将被创建。但是(如果在application.html.erb
中有默认的true%>
行,并且没有更改任何默认的预编译设置)您将在dev env上有多个样式表文件,而application.css
中没有任何内容,并且所有样式表都将编译到生产环境中的application.css
。我仍然不确定我是否理解require\u self所做的工作。包含所有文件的application.css文件仍然在预编译时创建,即使我没有包含require_self…这个答案在技术上是正确的,但有点混乱require\u self
指定application.CSS的CSS内容的排列顺序(在开发中)或连接顺序(在生产中)。在您的示例中,application.css显示在style_switcher.css之后,但在custom.css之前。如果您删除了require\u self
,application.css将默认显示在末尾-即在custom.css.updated my answer之后,以使其更清晰。是的,它仍将被创建。但是(如果在application.html.erb
中有默认的true%>
行,并且没有更改任何默认的预编译设置),那么在dev env中将有多个样式表文件,而application.css
中没有任何内容,并且所有样式表都编译到生产环境中的application.css
。