加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用带有rails 3.1资产管道和coffeescript的dojo工具包?

发布时间:2020-12-16 21:19:19 所属栏目:百科 来源:网络整理
导读:我正在尝试使用dojo-toolkit作为rails 3.1 app上的JS框架,但我正在努力将dojo require结构与sprockets require和coffeescript合并.似乎dojo期望磁盘上的JS文件,但我猜它们是从coffeescript动态创建的. 想知道是否有人知道这两个要求是如何共存的. 解决方法
我正在尝试使用dojo-toolkit作为rails 3.1 app上的JS框架,但我正在努力将dojo require结构与sprockets require和coffeescript合并.似乎dojo期望磁盘上的JS文件,但我猜它们是从coffeescript动态创建的.

想知道是否有人知道这两个要求是如何共存的.

解决方法

我最近不得不使用rails 3.1和资产管道安装dojo.以下是我遵循的步骤:

1 /包括道场

将dojo SDK放在vendor / assets / javascripts下,这样就可以获得dojo,dijit和dojox文件夹.将其包含在您的模板中:

= javascript_include_tag "dojo/dojo",:'data-dojo-config' => %Q(baseUrl: '/assets/dojo/',modulePaths: {modules: '/assets/modules',widgets: '/assets/widgets'})

不要忘记资产上的领先’/’!

你可以使用Google CDN with a fallback:

script var djConfig = { baseUrl: '/assets/dojo/',widgets: 'widgets'} };
= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js"
script ="typeof(dojo) === "undefined" && document.write(unescape('%3Cscript src="#{asset_path('dojo/dojo')}"%3E%3C/script%3E'));".html_safe

第一行设置了您的djConfig.第二行实际上需要来自Google的dojo.第三是后备.

2 /包括您的基本文件

删除app / assets / javascripts / application.js中的所有“require”并放置类似的东西(例如):

dojo.provide("myapp");

3 /与dojo.require一起玩

在1 /的djConfig中,我设置了modulePaths,将它们自定义为你想要的.在我的例子中,你可以将这两个放在你的文件中:

> app / assets / javascripts / modules /
> app / assets / javascripts / widgets /

如果我想要模块/ test.js,我只是这样做:

dojo.require("modules.test");

4 /使用coffeescript和ERB

只需添加正确的扩展名并启动右侧erb,如Rails documentation中所述.

我希望它对你有所帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读