标签: curljs

客户端浏览器库使用Coffeescript类和RequireJS(或Curljs或类似)的示例

我们希望使用Coffeescript开发一个浏览器(仅限客户端)库,特别是除了纯函数之外,我们倾向于使用Coffeescript的"类"功能.库将相对较大,因此我们想要开始使用定义良好的模块模式,但不是我们想要每个coffeescript"类"的单个咖啡文件.我们不想动态编译咖啡文件,而是作为特定的构建步骤,并且不希望将所有输​​出的JS连接成一个文件.作为最终要求,我们将使用像Jasmine这样的东西进行测试.

有没有人知道以这种方式开发的一个好的示例库,使用Coffeescript与RequireJS,CurlJS,Browserify等等?我看过Github,有一些例子,但我看不出任何具体的需求.

我尝试了Coffee-Toaster,因为它似乎有一些承诺,可以很容易地定义依赖关系等,但它无法处理Windows路径(旧的\ vs /),所以放弃了,主要是因为它似乎是有点像"光明"方面 - 像RequireJS这样的东西似乎有更好的社区支持.

感谢您的任何帮助,您可以提供.我真的在寻找可行的源代码示例.

coffeescript requirejs curljs

25
推荐指数
1
解决办法
2万
查看次数

使用AMD模块,何时(或为什么)可以在define()中使用require()?

我对AMD模块的理解(使用例如RequireJs或curl.js)是:

require() 用于异步加载不同的模块,加载后执行回调fn.

要定义模块,您可以使用单独的脚本 define()

但我已经看到一些模块require()在其函数定义中使用,例如

define([a, b, c], function(i, ii, iii){ 
    require([d, e, f], function(d, e, f) {
        // do some stuff with these require()'d dependancies
    })
    /* rest of the code for this module */ 
}) 
Run Code Online (Sandbox Code Playgroud)

但我发现这令人困惑,因为我认为如果一个模块具有依赖性,那么它们应该通过main define([dependancies], fnDefinition)函数传递,而不是通过require()上面的例子来实现.

这背后有理由吗?

requirejs js-amd curljs

19
推荐指数
1
解决办法
5822
查看次数

标签 统计

curljs ×2

requirejs ×2

coffeescript ×1

js-amd ×1