【发布时间】:2014-05-02 07:45:25
【问题描述】:
我一遍又一遍地搜索我应该如何在资产管道中组织我的代码,我注意到有几个人也以不同的方式询问了这个问题,但我仍然找不到我正在寻找的答案我希望这个问题能有所启发......
我在 assets/javascripts 中的 Javascript 代码最初是这样的:
jQuery ->
function1 = () ->
function2 = () ->
function3 = () ->
function4 = () ->
...
functionN = () ->
它变得非常混乱和不可读,由于代码的某些部分是特定于页面的,我试图重构它:
jQuery ->
function1 = () ->
function2 = () ->
...
functionN = () ->
if $('#id_for_show').length
function3a = () ->
function4a = () ->
if $('#id_for_index').length
function3a = () ->
function4a = () ->
两个不同的视图(显示和索引)共享函数 1 和 2,但每个视图的代码显然是针对特定页面的。
我的问题是,这是正确的方法吗?有更清洁的方法吗?
下面是我尝试做的,显然没有用。
我尝试将我的代码分成三个文件并将其添加到清单中,如下所示:
assets/javascripts/restaurant/show/show.js.coffeescript => first if statement
assets/javascripts/restaurant/index/index.js.coffeescript => second if statement
assets/javascripts/restaurant/restaurant.js.coffeescript => functions that are shared
...
require_path ./restaurant
提前致谢!!
【问题讨论】:
标签: javascript ruby-on-rails ruby-on-rails-4 asset-pipeline