我想要Masonry对于我的 Rails 4.2 项目,最初通过 masonry-rails gem 安装它然后浪费了一个晚上,直到我意识到 gem 正在使用过时的 Masonry 版本。这将是我第一次尝试在不使用 gem 的情况下将 javascript 添加到我的 Rails 应用程序中。来自 installation docs选项包括:下载、CDN、包管理器 (bower/npm)
我通过简单添加
来使用CDN<script src="https://npmcdn.com/masonry-layout@4.1/dist/masonry.pkgd.min.js"></script>
到将使用该脚本的index.html.erb View 文件的顶部。它是否正确?
使用CDN而不是下载或包管理器的优点/缺点是什么,以及我是否想添加masonry。 pkgd.min.js
手动添加到我的项目中我该怎么做?
最佳答案
What is the advantage/disadvantage of using CDN instead of Download
要了解 CDN 与本地脚本的优缺点,请参阅答案 here 和 here
How to manually add them in project
有两种方法
将它们(例如 masonry.pkgd.min.js)放在
app/assets/javascripts
下,并在 application.js 中要求它们作为//= require masonry.pkgd .min.js
但前提是你没有这一行//= require_tree .
因为 require_tree 会加载 app/assets/javascripts 文件夹下的所有 js 文件或者将它们放在
vendor/assets/javascripts
中。但在这种情况下,您必须在 application.js 文件中要求它
added masonry script to the top of index.html.erb view file that will use the script. Is this correct?
从某种意义上说,它是正确的,它只会加载到该特定 View 。现在,如果您将相同的内容放入 application.html.erb
中或通过 Assets 加载它,那么相同的 js 脚本将加载到每个 View 上。
关于javascript - 如何在 Rails 中安装 masonry 或其他 javascript? (不使用 gem ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38815227/