让Three.js项目在ruby on rails应用中工作的最有效方法

Most efficient way to get a Three.js project to work in a ruby on rails app?

本文关键字:工作 方法 有效 应用 rails js Three 项目 on ruby      更新时间:2023-09-26

我正在尝试-不成功-让Three.js项目在Ruby on Rails框架内工作

我一直在想一定有比我现在做的更简单的方法

首先,我在谷歌上搜索了一个关于如何将Three.js代码移植到rails的指南/教程,发现很少有关于这个主题的内容。我想这意味着:要么人们不经常这样做,要么它太明显了,没有人费心去记录它。

下我在谷歌上搜索了一个3 .js宝石,在这里找到了一个- http://rubygems.org/gems/threejs-rails(我放弃了尝试去工作-在与manifest文件混淆之后)

下我将Three.js的源代码安装到供应商文件夹中,并再次处理manifest文件。这一次我取得了更大的成功——尽管在Three.js中似乎存在require_tree(和我自己)没有注意到的依赖问题。

所以从理论上讲,我可能会让它在几个小时后弄清楚Three.js加载顺序,但这感觉不对。

我觉得我走进了一条死胡同,我错过了一些明显的东西。

  • 有更好的方法来做到这一点吗?

Rails主要是一个后端服务器端框架。js是一个用于在浏览器中渲染WebGL的前端库。他们彼此之间没什么关系。我觉得你太努力了。

这个过程和添加jQuery或其他javascript库一样。

  1. three.js文件放到app/assets/javascripts/three.js
  2. #= require three添加到application.js.coffee
  3. 确保javascript_include_tag('application')是应用程序布局模板的一部分

现在启动服务器,加载页面,并在javascript控制台中输入THREE。如果你得到一个返回值,那就太好了!现在编写一些自定义javascript,保存在app/assets/javascripts中,并将其包含在你想要做很棒的3D东西的页面上。

你也可以使用我今天为我的rails应用创建的gem threejs-rails。如果你使用的是rails 4+,它就可以开箱即用。分叉并提交PR,如果你需要进一步的支持!

最有效的显然是通过CDN,我计划很快添加支持

我发现这可能是最简单的方式-虽然不是正确的Rails方式-包含所有依赖关系,如这里所写https://guides.rubyonrails.org/working_with_javascript_in_rails.html然后简单地创建一个局部与JS代码内的脚本类型="模块"标签。虽然Alex Wayne的方法可能更好,但这个方法也有效。