Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 客户端应用程序工作流_Backbone.js_Coffeescript_Gruntjs_Yeoman_Bower - Fatal编程技术网

Backbone.js 客户端应用程序工作流

Backbone.js 客户端应用程序工作流,backbone.js,coffeescript,gruntjs,yeoman,bower,Backbone.js,Coffeescript,Gruntjs,Yeoman,Bower,我正在尝试使用yeoman()建立客户端应用程序工作流,由于我来自Rails后台,我已经习惯了资产管道的细节,它由Sprockets()支持 我正在努力使所有的角色都能很好地配合,并且已经花了几个小时试图弄明白这一点 我想到的第一个问题是,是否有一种成熟的方法(例如,在Rails world中,约定优先于配置)使用yeoman开发客户端应用程序?一些权威指南(除了基本的webapp生成器指南),也许? 有人建议使用requirejs(我宁愿不使用它,因为它简化了开发过程,但我需要跳转来打包应用程

我正在尝试使用yeoman()建立客户端应用程序工作流,由于我来自Rails后台,我已经习惯了资产管道的细节,它由Sprockets()支持

我正在努力使所有的角色都能很好地配合,并且已经花了几个小时试图弄明白这一点

我想到的第一个问题是,是否有一种成熟的方法(例如,在Rails world中,约定优先于配置)使用yeoman开发客户端应用程序?一些权威指南(除了基本的webapp生成器指南),也许? 有人建议使用requirejs(我宁愿不使用它,因为它简化了开发过程,但我需要跳转来打包应用程序(例如,使用Almond.js或AMDclean.js,或者产生不必要的requirejs开销)

我的设置是: 咖啡脚本,骨架+木偶,模板的把手,和ZASB基金会。 最后,在使用bower管理第三方依赖关系时,我希望完成以下设置:

发展中:

  • 有一些类似于Rails的javascript清单,因此我可以声明依赖项的顺序,这将分解为index.html
  • 对于所有.scss文件,在index.html中添加一个.css条目
  • 每个文件都会在需要时进行监视和编译
  • 生产中(地区):

  • 所有.scss文件已编译、缩小并连接到app.css
  • 所有bower文件连接并缩小到vendor.js
  • 编译、缩小并连接到app.js的所有应用程序coffeescript文件
  • 编译、缩小并连接到templates.js的所有模板
  • index.html修改为仅包含这四个文件
  • 有类似的设置吗

    我也愿意接受建议和/或其他备选工作流程。

    回答您的第一个问题,以下是关于如何使用Yeoman的指南:

    如果您想在默认情况下使用coffeescript,只需传递--coffeeparam

    yo webapp --coffee
    
    处理可以从index.html文件处理的资产顺序

    当您想让应用程序准备好投入生产时,只需键入

    grunt build
    
    这将统一并缩小您的所有资产,并将其全部放入dist文件夹

    要定制您在构建过程中拥有的内容,您必须编写自己的或定制grunt构建任务,以便它能够完全满足您的需要


    希望我给了您一些有用的信息:)

    Yeomam不会让您像预期的那样接近Rails工作流。我的两分钱是,你看一看,它能做你想做的事

    约曼路 使用发电机 您可以使用Yeoman生成器,并尝试找出更适合您所寻找的堆栈的生成器组合,从您的描述中,我可以看一下:

    此时,您的大多数需求(包括开发和生产)都将得到满足:

    • 定义良好的项目结构
    • 编译coffeeScript和.scss
    • 监视并编译
    • 模型、视图、集合等的生成器
    • 编译并缩小所有生产文件
    您可以使用多个生成器自定义自己的堆栈,每次Yeoman检测到生成器覆盖现有文件时,它都会提示您要做什么,您应该能够自己管理冲突。某些框架生成器显然会发生冲突(尝试在其上使用生成器是没有意义的)

    微调 您可以使用子生成器构建应用程序的更多特定部分,请参阅

    建筑发电机 如果您觉得受到生成器可能强加的某些选择的限制(例如,您更喜欢browserify而不是requirejs),您可能希望派生一个生成器并将其添加为一个选项。您甚至可以构建一个生成器表单scratch来构建自定义堆栈

    咕噜和鲍尔路 Yeoman是在这两个基础上构建的,但是您可以随时选择退出并使用这两个构建自己的堆栈。您可以通过bower添加依赖项,并使用grunt添加任务。有很多例子可以给你一些指导,你可以从Yeoman webapp开始。在github-like中也有很好的例子

    您必须注意以下三个文件:

    • package.json-所有节点依赖项都放在这里
    • json-管理客户端依赖关系
    • GrunFile.js-在这里定义任务
    收尾 也许我说的是显而易见的,但约曼做了一些魔术工作,并帮助你管理格伦特和鲍尔,这种魔术只有在你完全理解这2的工作原理时才会发生。因此,我建议您首先深入了解一些代码,充分了解Grunt和Bower的工作原理,然后使用Yeoman magic

    其他一些工具 你问了一些建议,下面是:

    • 咕噜声的替代品。你越是沉迷于咕噜声,你就越想大口大口地喝一口
    • Requiere的替代品。阅读
    • Node.js、Grunt.js和Yeoman的静态站点生成器

      • 这不是对我最初问题的回答,而是对那些想要实现我所寻找的相同工作流的人的一个提示。最后,我编写了一个定制的Gruntfile,使用grunt注入器执行“将资产分解为index.html”部分,grunt bower安装以添加bower资产,并相应地配置grunt usemin、grunt contrib concat、grunt contrib cssmin和grunt contrib uglify。

        ,但是我仍然想知道是否有一些已经建立的工作流比一般的webapp生成器更健壮,还有一个zf5生成器。问题是,他们彼此都不友好。我很确定已经有人用插件解决了这个问题。我就是找不到;)非常感谢你的回答。顺便问一下,你成功了吗