Rom*_*man 16 coffeescript backbone.js gruntjs yeoman bower
我正在尝试使用yeoman(http://yeoman.io/)设置客户端应用程序工作流程,因为我来自Rails背景,我已经习惯了资产管道的细节,这是由Sprockets支持(https://github.com/sstephenson/sprockets).
我正在努力使所有的部件彼此都很好玩,并且已经花了几个小时试图解决它.
我想到的第一个问题是,是否有一个完善的(例如,在Rails世界中的配置约定)与yeoman开发客户端应用程序的方法?一些权威的指南(除了基本的webapp-generator指南),也许吧?有人建议使用requirejs(我宁愿不使用它,因为虽然它简化了开发中的事情,但我需要跳过箍来打包应用程序(例如使用Almond.js或AMDclean.js,或者招致不必要的requirejs开销) .
我的设置是:Coffeescript,Backbone + Marionette,Handlebars for templates和ZURB Foundation with SASS.
我最终想要完成的是以下设置,同时使用bower管理第三方依赖项:
开发中:
在生产中(dist):
有这样的设置吗?
我也愿意接受建议和/或其他替代工作流程.
Yeomam不会让您像预期的那样接近Rails工作流程.我的两分钱是你看看像Middleman这样的东西你想要的开箱即用.
您可以使用Yeoman生成器并尝试找出更适合您正在寻找的堆栈的生成器组合,根据您的描述我可能会看一下:
此时,您的大部分需求(包括开发和生产)都将得到满足:
您可以使用多个生成器来自定义您自己的堆栈,每当Yeoman检测到生成器覆盖现有文件时它将提示要执行的操作,并且您应该能够自己管理冲突.一些框架生成器显然会发生冲突(尝试在主干上使用角度生成器是没有意义的).
您可以使用子生成器来搜索应用程序的更多特定部分,请参阅Addy Osmani视频.
如果您觉得生成器可能会施加某些选择(例如,您更喜欢使用browserify而不是requirejs),那么您可能需要派生成器并将其添加为选项.您甚至可以构建一个生成器表单,它将构建您的自定义堆栈!
Yeoman构建在这两个之上,但您可以随时选择退出并使用这两个构建自己的堆栈.您可以通过bower添加您的deppendencies,使用grunt添加您的任务.有很多例子可以给你一些指导,你可以从Yeoman webapp开始.在github上也有很好的例子,比如juanghurtado/puppeteer.
你必须留意3个文件:
也许我说的是显而易见但是Yeoman做了一些神奇的工作并且帮助你管理Grunt和bower,这种魔法只有在你完全理解这个2的工作时才会发生.所以我建议你首先深入研究一些代码并完全理解Grunt和Bower是如何工作的,然后你可以使用Yeoman魔法.
你问了一些建议,在这里: