2012-03-30 74 views
9

在多视图的我包括外部JavaScript库,这个HTML:Rails 3.1 - 如何在vendor/assets/javascript中包含外部JavaScript库?

<script type="text/javascript" 
     src="http://static.jstree.com/v.1.0pre/jquery.jstree.js"> 
</script> 

在通过Rails 3.1资产管道文件和讨论我得到的印象是vendor/assets/javascripts是一个地方是该文件应参考阅读。我猜我可以下载该文件的副本(jstree.js)并将其放置在该目录中。不过,我想将它从项目网站上下载,而不是制作它的本地副本。

我在供应商/资产/ javascripts中将jstree.js的副本从远程服务器上卸下了什么?我是否使用某种远程加载代码创建了一个.js文件?似乎有各种关于如何最好地做到这一点的方法和/或混乱(见回答的一长串这个问题:How do I include a JavaScript file in another JavaScript file?

是否有一个“Rails的标准”约定/库/程序做这个?我是一名JavaScript初学者,所以请明确,谢谢。

回答

10

不,您无法将资源文件夹中的远程文件“参考”。您可以下载副本并将其放入资产中,也可以使用<script>标记引用远程文件。

有副本不是一个坏主意,真的。至少,你知道它的工作原理和文件没有改变(除非你自己改变它)。当你加载一个远程文件,各种各样的惊喜可能发生:)

+3

谢谢。希望确保我没有失去明显的东西,并确认了这一点。不完全同意拥有本地副本是一个好主意(生产除外)。图书馆已经学会了永不改变的“稳定”版本,所以我并不太在意这一点。如果Rails支持“引用”系统(类似于Gemfile),我可以更容易地在dev/test/production中维护各种JS库。我不必手动下载/整理文件,并可避免链轮混淆。对远程库的新版本进行开发/测试将会非常容易。 – 2012-03-30 18:14:07

+2

我不确定在本地存储所有的JS文件总是一个好习惯。使用第三方服务,如社交按钮,如果他们改变服务,调试可能是很多心痛。 – 2012-12-06 11:58:42

+0

对Gemfile中的+1进行远程存储的JS文件。 @Don甚至可以在每次部署时远程下载它们,但通过链轮本地提供它们。 – Trip 2014-10-27 16:06:46

相关问题