据我所知,所有JavaScript都被合并到一个文件中.默认情况下,Rails会在application.js list 文件的底部添加//= require_tree ..

这听起来像是真正的救命稻草,但我有点担心特定于页面的JavaScript代码.这段代码是否在每一页上都会执行?我最不希望的是,当我的所有对象只在一页上需要时,为每一页实例化它们.

此外,难道不存在代码冲突的可能性吗?

或者您是否在页面底部放置一个小的script标记,用于调用执行页面的javascript代码的方法?

你不再需要了吗.那么呢?

谢谢

EDIT:我很感激所有的答案...我认为他们并没有真正理解这个问题.其中一些是关于造型的,似乎没有联系...其他人只提到javascript_include_tag...我知道它的存在(显然…)但Rails 3.1的发展方向似乎是将所有JavaScript打包成一个文件,而不是在每个页面的底部加载单个JavaScript.

我能想到的最好的解决方案是用idclassE将某些功能封装在div个标签中.在JavaScript代码中,您只需判断页面上是否有idclass,如果是,则运行与其相关联的JavaScript代码.这样,如果动态元素不在页面上,JavaScript代码就不会运行--即使它已经包含在链轮打包的大容量application.js文件中.

我上面的解决方案的好处是,如果100个页面中有8个包含搜索框,它将只在这8个页面上运行.你也不必在网站的8个页面上包含相同的代码.事实上,你再也不用在你的网站上的任何地方添加手动脚本标签了.

我想这是我问题的实际答案.

推荐答案

我很感激所有的答案...我认为他们并没有真正理解这个问题.其中一些是关于造型的,似乎没有联系...其他人只提到javascript_include_tag...我知道它的存在(显然…)但Rails 3.1的发展方向似乎是将所有Javascript打包成一个文件,而不是在每个页面的底部加载单个Javascript.

我能想到的最好的解决方案是用idclassE将某些功能封装在div个标签中.在javascript代码中.然后,您只需判断页面上是否有idclass,如果是,则运行与其相关联的javascript代码.这样,如果动态元素不在页面上,javascript代码就不会运行--即使它已经包含在链轮打包的大容量application.js文件中.

我上面的解决方案的好处是,如果100个页面中有8个包含搜索框,它将只在这8个页面上运行.你也不必在网站的8个页面上包含相同的代码.事实上,你再也不需要在你的网站上的任何地方包含手动脚本标签了——除了预加载数据.

我想这是我问题的实际答案.

Javascript相关问答推荐

橡皮擦完全让画布变成白色

一次仅播放一个音频

react 路由加载程序行为

为什么我的includes声明需要整个字符串?

按下同意按钮与 puppeteer 师

变量的值在Reaction组件中的Try-Catch语句之外丢失

我可以使用使用node.js创建的本地主机来存储我网站上提交的所有数据吗?没有SQL或任何数据库.只有HTML语言

如何在Angular拖放组件中同步数组?

在画布中调整边上反弹框的大小失败

将相关数据组合到两个不同的数组中

如何通过Axios在GraphQL查询中发送数组

本地损坏的Java脚本

MongoDB通过数字或字符串过滤列表

我的NavLink活动类在REACT-ROUTER-V6中出现问题

如何在移动设备中使用JAVASSCRIPT移除点击时的焦点/悬停状态

将延迟加载的模块转换为Eager 加载的模块

使用Java脚本在div中创建新的span标记

在执行console.log(new X())时记录一个字符串

Rails 7:在不使用导入映射的情况下导入Java脚本

递归地将JSON对象的内容上移一级