将 JS 链接添加到 Application.js 文件

Posted

技术标签:

【中文标题】将 JS 链接添加到 Application.js 文件【英文标题】:Add JS link to Application.js file 【发布时间】:2019-06-26 06:47:45 【问题描述】:

Application.js 文件

// ** Standard Rails 5 files **
//= require rails-ujs
//= require activestorage
//= require turbolinks
//
// ** Bootstrap JS files **
//= require jquery3
//= require popper
//= require bootstrap-sprockets

我想在我的 rails 应用程序中添加一个 jquery 插件 https://github.com/gdsmith/jquery.easing。我更愿意添加指向 CDN 链接的链接,而不是直接引用该文件。

1) 如何在上面的代码中添加指向CDN文件的链接?

2) 如果我有另一个文件,即App/assets/vendor/vendor_name/vendor.js,我如何在上面的文件中引用它?

//=require /assets/vendor/vendor_name/vendor 

没用。

【问题讨论】:

【参考方案1】:

如果您想链接到 CDN,只需进入 views/layout/application.html.erb 并使用普通的 <link> 标签添加到 CDN 的链接

另一种方法是在浏览器中直接转到 CDN 链接,复制 js 代码,然后在 rails 在assets/javascript/your_file_name.js 中创建一个文件,将代码粘贴到那里,如果您使用的是require tree .,它将被选中自动起来。就我个人而言,我不喜欢 require 树,所以我将它们都单独包含在内。 (请注意,这意味着您需要手动将任何更新应用到库。)

供应商文件夹自动包含在资产路径中,您应该能够简单地相对于供应商目录引用它。

例如//=require vendor_name/vendor

注意:如果 rails 找不到该文件,它会在错误屏幕上向您显示它看到的所有位置,其中之一将是供应商路径,然后您可以计算出需要提供的其他路径访问您的文件。

希望对你有帮助

【讨论】:

希望将所有的 js 链接组织在一个地方,有没有办法将它添加到 application.js 文件中? 好吧,我想“最佳实践”的论点是使用 NPM 或 Yarn 之类的东西来包含脚本,然后在你的 JS 中引用它,这就是我个人的处理方式。请参阅我的编辑以了解替代方法

以上是关于将 JS 链接添加到 Application.js 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 webpacker 将 jstree 添加到 Rails

EXT JS MVC开发模式

Rails 6 的资产管道中不存在资产“application.js”

将Chartkick与rails 5.2 api应用集成?

Ruby on Rails - 如何在 application.js 中执行 require

Rails 6.1:Webpacker 找不到 application.js