<%= yeoman.app%>和<%= yeoman.dist%> gruntfile的变量

时间:2014-01-29 01:51:58

标签: gruntjs yeoman

我经常在一些例子中看到gruntfiles使用<%= yeoman.app%>和<%= yeoman.dist%>环境变量。我自己没有使用过,但这些变量从哪里派生出来?

此外,是否可以覆盖这些变量?为了使用这些特定的环境变量,是否需要有自己的人?

我已阅读documentationFAQ。有没有更多的资源讨论这个?

1 个答案:

答案 0 :(得分:72)

这些变量从哪里派生出来?

从广泛开始,请在Gruntfile example开始解决<%= variable %>语法时阅读。如果您是Grunt的新手,请将该页面加入书签,因为那里的内容起初看起来并不重要,但在重复阅读时会很有用。

更具体地说,是的......那些来自Yeoman发电机。例如,如果我运行最新的generator-angular,它生成的Gruntfile.js包含这段代码:

yeoman: {
  // configurable paths
  app: require('./bower.json').appPath || 'app',
  dist: 'dist'
}

所以你可以看到,至少从我使用的生成器,<%= yeoman.app %>将默认为名为'app'的目录,而<%= yeoman.dist %>将指向'dist'。如果我粘贴了为我创建的生成器的整个Gruntfile,您还会看到许多构建和测试应用程序的任务都使用了这些文件。

正如你可以想象的那样(你在Gruntfile example中看到)这不仅仅限于自然,因为它是Grunt的一部分,所以你可以使用它来保持你的Gruntfile清洁和DRY

是否可以覆盖这些变量?

是。我上面引用的代码可以更改,以便appdist指向不同的位置。使用由yeoman生成器创建的应用程序执行此操作可能会导致更多的工作,而不是它的价值。自然生成器的重点是自动化工作,所以你不必动摇这些东西。每次使用发电机时都会得到样板设置。

...除非你是从头开始编写自己的生成器或应用程序并从发生器“借用”位然后是的,你可以将它们设置为对你的应用程序很重要的任何东西。

为了使用这些特定的环境变量,是否需要有自己的人?

不,但如果您从头开始构建应用程序,我认为没有任何理由使用“yeoman”这个名称。如果您使用的是自动生成的应用程序,我看不出更改它的原因。