我经常在一些示例often文件中看到<%= yeoman.app %>和<%= yeoman.dist %>环境变量的使用。我自己没有用过这个,但是这些变量是从哪里来的呢?
另外,有没有可能覆盖这些变量?为了使用这些特定的环境变量,是否需要使用yeoman?
我已经通读了documentation和FAQ。有没有更多讨论这个问题的资源?
发布于 2014-01-29 12:33:02
这些变量是从哪里派生的?
从广义上讲,阅读Gruntfile example,因为它开始处理<%= variable %>语法。如果您是Grunt的新手,请将该页面设置为书签,因为那里有一些一开始看起来并不重要但在反复阅读时会很有用的内容。
更具体地说,yeah...those来自约曼发电机。例如,如果我运行最新的generator-angular,它生成的Gruntfile.js包含以下代码:
yeoman: {
// configurable paths
app: require('./bower.json').appPath || 'app',
dist: 'dist'
}因此,您可以看到,至少从我使用的生成器中,<%= yeoman.app %>将默认到一个名为'app‘的目录,而<%= yeoman.dist %>将指向'dist’。如果我粘贴了生成器为我创建的整个Gruntfile,您还会看到许多构建和测试应用程序的任务都使用了这些文件。
正如您可以想象的(在Gruntfile example中可以看到),这不仅仅限于yeoman,因为它是Grunt的一部分,所以您可以使用它来保持Gruntfile的整洁和DRY。
可以覆盖这些变量吗?
是。我上面引用的代码可以更改,以便app和dist指向不同的位置。使用yeoman生成器创建的应用程序执行此操作可能会导致比其价值更多的工作。yeoman生成器的全部意义在于自动化工作,这样您就不必操心这些事情了。每次使用生成器时,您都会得到一个样板设置。
...unless你正在从头开始编写你自己的生成器或应用程序,并从生成器中‘借用’代码,然后是的,你可以将它们设置为对你的应用程序重要的东西。
为了使用这些特定的环境变量,是否需要拥有yeoman?
没有,但我看不出有任何理由使用'yeoman‘这个名字,如果你是从头开始构建一个应用程序的话。如果你使用的是yeoman生成的应用程序,我看不出有什么理由去改变它。
https://stackoverflow.com/questions/21420593
复制相似问题