提供了“applications.js”清单中未提及的 Rails 5 资产?

问题描述

请赐教!

假设我在 Rails 5 应用程序中有以下资产结构。

app/assets/javascripts
  application.js
  file1.js

application.js 清单中,我不需要 //= file1 也没有使用 require_tree . 指令。

如果清单 application.js 中不需要任何 JS 文件Rails.application.config.assets.precompile += %w[] 中也不包含它

  1. 是否会提供此资产?
  2. 如果某个视图中有一个标签 <%= javascript_include_tag 'file1' %> ,它应该起作用还是引发错误

解决方法

不,默认情况下不提供该文件。默认情况下(取决于 Rails 版本/资产配置),只有 Rails.application.config.assets.precompile 中列出的文件、默认情况下 application.js application.css 或通过 manifest.js 中列出的文件在更新的 Sprockets/Rails 中可用于直接通过 javascript_include_tag 提供服务。

那 2. 会引发错误。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...