我补充说:
//= link_directory ../custom/javascripts .js
到app/assets/config/manifest.js
并假设我可以从我的观点中单独引用生活在custom
文件夹中的资产:
= javascript_include_tag "custom/javascripts/application", 'data-turbolinks-track': 'reload'
但我得到这个错误:
资产“custom / javascripts / application”不存在于资产管道中。
如何从默认的custom/javascripts/application.js
文件中单独编译javascripts/application.js
?
我想建议你一个不同的方法。而是在manifest.js中添加一个文件夹,为什么不在app / assets / javascripts中添加新的custom_application.js,创建一个文件夹app / assets / javascripts / custom并在custom_application.js中为此文件夹添加require?
在您的app / assets / javascripts / custom_application.js(以及您需要的所有内容)
//= require_tree ./custom
在您的前端应用程序/ views / layouts / application.html.erb头部包含此文件
<%= javascript_include_tag 'custom_application', 'data-turbolinks-track': 'reload' %>
并在您的config / initializers / assets.rb中添加以下行:
Rails.application.config.assets.precompile += %w( custom_application.js )
编辑:如果你需要另一个文件夹而不是默认文件夹,你可以在app / assets中添加它,然后编辑你的app / assets / config / manifest.js:
//= link_tree ../images
//#= link_directory ../javascripts .js
//= link_directory ../custom .js
//= link_directory ../stylesheets .css
在您的app / views / layouts / application.html.erb中,您无需指定路径
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
但是如果你需要来自javascripts和自定义文件夹的application.js我认为你需要重命名你自定义/ application.js