【问题标题】:Sprockets: Compile standalone javascript/stylesheet fileSprockets:编译独立的 javascript/样式表文件
【发布时间】:2017-12-19 20:58:40
【问题描述】:

我补充说:

//= 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】:

    我想建议您采用不同的方法。 而是在 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
    

    在你的前端 app/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,我认为您需要将您重命名为 custom/application.js

    【讨论】:

    • 或者如果你不需要旧的 application.js 你可以添加到它 //= require_tree ./custom
    • 我能否将/custom_application.js 重新定位到/gem_name/custom_application.js/custom/gem_name/custom
    • 如果 gem_name 是文件夹名称,是的,您需要将您的 assets.rb 更改为 gem_name/custom_application javascript_include_tag 和 %w( gem_name/custom_application.js ),但您可以这样做
    • 效果很好。提前感谢您的指导!
    猜你喜欢
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 2012-07-03
    • 2017-02-20
    相关资源
    最近更新 更多