链轮:编译独立的javascript / stylesheet文件

问题描述 投票:0回答:1

我补充说:

//= link_directory ../custom/javascripts .js
  • 资产 习惯 JavaScript的 的application.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

javascript ruby-on-rails compilation ruby-on-rails-5 sprockets
1个回答
1
投票

我想建议你一个不同的方法。而是在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

© www.soinside.com 2019 - 2024. All rights reserved.