我经常在一些例子中看到gruntfiles使用<%= yeoman.app%>和<%= yeoman.dist%>环境变量。我自己没有使用过,但这些变量从哪里派生出来?
此外,是否可以覆盖这些变量?为了使用这些特定的环境变量,是否需要有自己的人?
我已阅读documentation和FAQ。有没有更多的资源讨论这个?
答案 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。
是否可以覆盖这些变量?
是。我上面引用的代码可以更改,以便app
和dist
指向不同的位置。使用由yeoman生成器创建的应用程序执行此操作可能会导致更多的工作,而不是它的价值。自然生成器的重点是自动化工作,所以你不必动摇这些东西。每次使用发电机时都会得到样板设置。
...除非你是从头开始编写自己的生成器或应用程序并从发生器“借用”位然后是的,你可以将它们设置为对你的应用程序很重要的任何东西。
为了使用这些特定的环境变量,是否需要有自己的人?
不,但如果您从头开始构建应用程序,我认为没有任何理由使用“yeoman”这个名称。如果您使用的是自动生成的应用程序,我看不出更改它的原因。