【问题标题】:rails javascript file not found in assets/javascripts在资产/javascripts 中找不到 rails javascript 文件
【发布时间】:2022-03-08 00:13:32
【问题描述】:

我正在尝试安装一个名为 Chaffel.js 的插件,我已将它添加到我的 javascript 文件中

+app
|+assets
||+javacripts
|||chaffle.min.js
|||

我在 application.js 中需要它

//= require chaffle.min.js
//= require rails-ujs
//= require turbolinks
//= require_tree .

我也将它添加到 config/initializers/assets.rb

Rails.application.config.assets.precompile += %w(chaffle.min.js)

我已经将它包含在我的视图中

<%= javascript_include_tag 'chaffel.min' %>

并且已经添加了它为示例显示的所有 html / javascript,但是当我加载视图时它给了我这个错误

Sprockets::Rails::Helper::AssetNotFound in Home#index
The asset "chaffel.min.js" is not present in the asset pipeline.

我不知道这是否是我的资产管道的问题,或者插件是否不再工作(因为其页面上的 cdn src 似乎也不起作用)希望对此有所帮助或建议使用不同的插件/方式来实现相同的效果(文本随机播放动画)。

通过直接包含文件,我可以让它在普通的 html 文件中工作

<script src="chaffle.min.js" charset="utf-8"></script>

所以这绝对是我的代码/资产管道而不是插件的问题。

【问题讨论】:

  • 我想提一下,按照惯例第三方库应该放在vendor/assets下。
  • 谢谢我已经改好了

标签: ruby-on-rails asset-pipeline


【解决方案1】:

首先,如果您的 application.js 中有 //= require_tree .,则无需更改任何其他文件。 //= require_tree . 将为您包含 javascript 目录中的所有文件: http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

但你所面临的问题,我猜只是一个错字:chaffle / chaffel。但同样,只需清除所有提及它并只留下 require_tree - 这应该足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多