gpt4 book ai didi

javascript - 让 Rails javascript 代码变得干燥

转载 作者:行者123 更新时间:2023-12-02 15:14:11 26 4
gpt4 key购买 nike

我有两个文件,它们使用一些常见的 JavaScript 代码和 Rails gon gem。

因此对于文件 1:file1.js看起来像这样

$(function () {

function a() {
....
}

$('id').on('click', function() {
c = gon.obj1
c.doSomething
....
})

function otherMethods(){
}
})

对于文件 2:file2.js.erb我有,

var c = abc
function a() {
....
}

$('id').on('click', function() {
c.doSomething
....
})

//other code

现在我正在考虑通过提取file3.js中的公共(public)代码来使我的代码干燥。 :

function a() {
....
}

$('id').on('click', function() {
c.doSomething
....
})

由于我是 javascript 新手,我不确定如何填充 c 以便 file1.jsfile2.js.erb才能正常工作。

  1. 如何将 var c 作为参数从 file1 和 file2 传递到公共(public)文件以及公共(public)代码(我们称之为 file3.js )
  2. 我只是做类似 <%= javascript_include_tag "file3.js" %> 的事情吗?在file2 ,类似地 file1访问公共(public)代码?

最终我想要file1.js看起来像:

$(function () {

function otherMethods(){
}
})

file2.js.erb看起来像

//other code

最佳答案

Rails 使用链轮从主 application.js 文件加载 javascript 文件。如果您查看该文件,您会注意到所有 javascript 文件是如何使用 require_tree . 加载的。您可以像这样在 file3.js 中复制此技术。

file3.js

//=require file1
//=require file2

// your code here...

在第一个示例中,如果不将函数 a() 添加到 window,则该函数将无法全局使用。

file1.js

window.a = a;

关于javascript - 让 Rails javascript 代码变得干燥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34593950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com