grunt文件的<%= yeoman.app%>和<%= yeoman.dist%>variables

我经常在一些示例gruntfiles中看到使用<%= yeoman.app%>和<%= yeoman.dist%>环境variables。 我自己没有用过,但是这些variables是从哪里来的呢?

另外,是否有可能重写这些variables? 是否需要为了使用这些特定的环境variables而拥有自己的?

我已经通读了文档和FAQ 。 有更多的资源讨论这个吗?

这些variables从哪里来的呢?

从广义上开始,阅读Gruntfile示例,因为它开始解决<%= variable %>语法。 如果你是Grunt的新手,那么把这个页面join书签,那里的内容起初看起来并不重要,但是在重复阅读中会很有用。

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

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

所以你可以看到,至less从我使用的生成器中, <%= yeoman.app %>将默认为一个名为'app'的目录, <%= yeoman.dist %>将指向'dist'。 如果我粘贴了为我创build的生成器的整个Gruntfile,那么也会看到许多构build和testing应用程序的任务都使用这些Gruntfile。

正如你可以想象的(你在Gruntfile例子中看到),这不仅仅限于yeoman,因为它是Grunt的一部分,所以你可以使用它来保持你的Gruntfile干净和干燥 。

是否有可能重写这些variables?

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

…除非你是从头开始编写自己的发生器或应用程序,并从发生器'借用'位,然后是的,你可以将它们设置为对你的应用程序来说很重要。

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

不,但如果您是从头开始构build应用程序,我不认为有任何理由使用“yeoman”这个名字。 如果你正在使用yeoman生成的应用程序,我不认为有理由去改变它。