角种子实际上是空项目吗?


82

在说服了学习和使用Angular.js之后,我将启动一个具体的Web UI应用程序,以启动体验的学习轮。(该应用将是某种个人计划,待办事项,提醒,番茄技术等)。

我看过的Angular作者看过的教程视频之一是关于最佳实践的。最佳实践之一是从angular-seed项目开始。

那就是我要做的,但是经过一番谷歌搜索之后,已经有至少两个其他的项目声称是一个很好的起点:

  • angular-enterprise-seed
  • angular-sprout

我是新手,但我喜欢长期投资。我应该担心使用除之外的其他东西angular-seed吗?我觉得现在问自己这个问题还为时过早,但是如果已经有两个其他项目,也许有一些很好的理由。


1
我认为,“最佳做法”的讨论更多地是关于使用模板作为起点,而不是某些特定的模板。是的,angular-sprout有一些优势,但是我认为,您可以将其angular-seed用于学习目的。
raina77ow 2013年

我进行了编辑,以删除template问题中的单词。不,的确,作者坚持使用角度种子作为开始,以便在其框架上构建应用程序(这就是为什么我使用单词模板,而不是html模板的原因)。感谢您指出了这一点。
Stephane Rolland

angular-seed应该工作正常。实际上,您要如何构建项目是个人喜好的问题。如果我要建议使用一种工具,那就是yeoman。非常适合脚手架上的斜角项目及其他...
Jonathan Palumbo,

1
您的教程视频链接可能已损坏。
JJ Zabkar

1
@JJZabkar更正了,太可惜了,我今晚才看到你的评论。
Stephane Rolland

Answers:


60

我发现,尽管许多人使用各种种子项目,但是角度应用程序(或任何javascript网络应用程序)最简单,最一致的起点是Yeoman

该应用程序是一个脚手架工具,可让您指定生成器,这些生成器将构建应用程序的内核,并提供所需的任何库(通过bower)和有效的grunt生成文件(大多数生成器附带了生成任务,服务器实时编辑和测试任务)

尽管像这样的应用必然会被接受,但它所产生的脚手架仍然非常通用。

例:

mkdir my-app
cd my-app
npm install generator-angular
npm install generator-karma
yo angular

8
我相信上面的第3行应该是npm install generator-angular
瑞安·沃尔斯

第4行:npm install generator-karma
Mattl

npm ERR!404'angular-generator'不在npm注册表中。
mortsahl 2014年

grunt serve在浏览器中看到它
jacktrades 2014年

1
我还必须安装哟“ npm install --global yo”
moke

26

它们都有不同的优点,因此取决于您要做什么。我写了有角度的企业种子,可以说出它的相对优点。

  1. 它与服务器无关。 这很重要,因为AngularJS的核心宗旨(以及使它具有吸引力的许多方面之一)是它遵循客户端MVC范例。这意味着它与所有服务器技术完全脱钩。许多现有的种子将AngularJS与服务器技术联系起来,例如angular-sprout(NodeJS)或烤羊乳酪(gated -feta(Google App Engine / Java))。对于上述项目,如果您的系统上还没有NodeJS和/或Java环境,那么您将不得不经历几圈,才能看到种子。这可能会使PHP和Python开发人员疏远,从而限制了项目的社区。

  2. 几秒钟即可启动并运行。因为它与服务器无关,所以它可以在任何容器中运行(对此事,请注意文件系统)。建议的方法是从根目录运行“ python -m SimpleHTTPServer”-这是Mac和Linux上的本机,因此没有其他步骤。

  3. 实时预览。 检查项目状态很便宜,因为实时版本始终托管在github上。由于它与服务器无关,因此可以通过将master从cron作业复制到gh-pages分支来自动完成。

  4. 丰富的样式。 它包括开箱即用的Twitter Bootstrap和自定义/可构建的LESS,以及Angular-UI,Angular-NG,字体和多种其他工具,可提供丰富的样式和响应能力。

  5. 小部件。像Angular-Seed和Angular-Sprout一样,Angular-Enterprise-Seed体现了“最佳实践”的布局,路由等。但是,它还提供了许多预制组件,可以将它们从货架上取下并立即重用。这有点困难,因为它可能需要多种技术的融合。例如,要创建网格示例,我组合了angular-ui,angular-ng,angular-js和jquery样式。有模态,分页,警报,网格等组件示例。

如果您想学习角质种子的工作原理,那么角质种子是一种很好的学术锻炼,但是它会让您渴望有一个更大的起点。

我没有用过角芽菜,所以我不能说出它的优点。也许还有一些空间可以合并角芽和角企业种子?


2
如果您确实希望服务器耦合,请查看github.com/robertjchristian/service-nucleus,该文件将angular-Enterprise-seed种子与netflix- karyon集成在一起,并添加了其他功能。现成的部署和战争准备就绪。(基于Java,包括通过Jersey的REST)。
罗伯特·克里斯蒂安

1
作为基础,这看起来确实不错。您是否考虑过集成Bower以便更轻松地添加angular-ui-map等内容?
Baldy 2013年

1
@Baldy-是的,我想将Bower插入该项目。你在自愿吗?:)
罗伯特·克里斯蒂安

不幸的是,我搬到别的地方了:)
Baldy 2014年

1
您通过“始终在github上托管新版本”说服了我...然后提供了链接:robertjchristian.github.io/angular-enterprise-seed/#返回一个空页面。
cerd

18

我认识到这是一个比较老的问题,但是似乎有很多观点,因此建议最近成为Yeoman和有角种子的替代品:ng-boilerplate的东西很有意义。ng-boilerplate与angular-seed的不同之处在于,它是针对大型生产Web应用程序进行全新设计的,因此,我认为它是比angular-seed更好的解决方案。

为了解释应用程序启动的Yeoman方法和ng-boilerplate方法之间的区别,我将引用ngbp的创建者Josh D. Miller

Yeoman很棒。但是我在AngularJS的生成器中遇到的问题是它们按层而不是按功能打包。如果我们将所有控制器都存储在“ controllers”文件夹中,而所有服务都存储在“ services”文件夹中,等等,而所有测试都完全放在别处,那么重用我们的组件可能会非常具有挑战性。

Josh在Yeoman角发生器问题论坛上也进行了很好的讨论,关于ng-boilerplate与yeoman的设置更深入。


10

需要明确的是,约曼不是发电机。Yeoman是制作发电机的格式/系统。Yeoman产生了一些生成器,可用于生成AngularJS应用程序。人们经常错误地将其中一个称为“ Yeoman生成器”。但是有很多。感到困惑了吗?Yeoman不是唯一的发电机制造系统。早午餐是另一种。

为了回答您的问题,这里是许多AngularJS生成器的非常全面的并排比较,您可以使用它们来开始使用AngularJS制作Web应用程序。目前,它包含这些事物的200多个不同方面。其中之一是文件组织风格。因此,如果这对您很重要,则可以轻松地查看按功能组织文件的文件。是我的

仍然有几个要添加的内容。这个主题中提到的两个对我来说是新的。但是,这种比较应该使您对这些选项及其比较方式有了一个很好的了解。它也是可编辑的,因此,如果您中的任何一个是这些方面的专家,请随时分享您的知识。

上帝只知道为什么人们不断制造更多这些东西,而不仅仅是帮助改善现有的东西。如果您有任何猜测,我很想解决这个谜。

编辑:要获得该文档的访问权,我要求您要么完成问卷调查以分享您的知识,要么游说专家这样做。

转到此处进行问卷调查:http : //www.dancancro.com/technology-questionnaires/


9

我也喜欢使用Yeoman。尝试以下方法以获得良好的脚手架:

npm install -g generator-angular  # install generator
yo angular                        # scaffold out a AngularJS project
bower install angular-ui          # install a dependency for your project from Bower
grunt test                        # test your app
grunt server                      # preview your app
grunt                             # build the application for deployment

请注意,此生成器现在已经很旧了,因此不确定我是否会推荐它。
dmackerman

是的,但可以在yeoman.io/generators上找到另一个。搜索angular / angular2
HankCa '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.