javascript - 在生成的模板中使用 yeoman-generator 变量

标签 javascript angularjs yeoman yeoman-generator yeoman-generator-angular

我正在使用 yeoman 生成一个 angularJS 项目。我使用参数调用生成器,并通过执行以下操作从主生成器的脚本 (index.js) 中获取它:

this.argument('name', { type: String });

我可以通过以下方式在同一个 index.js 中使用此参数:

this.options.name

问题:我想在模板中使用相同的 this.options.name ,以便我可以将其值赋予变量。我该怎么做?

最佳答案

要从 Node.js 访问 yeoman 变量,我执行了以下操作:

我将 sails 中的文件connections.js 重命名为 _connections.js 并将其放置在与 yeoman 生成器的“templates”文件夹中的 sails 文件夹相同的级别。保持这样:

> yeomanGeneratorFolder 
>   |-app   
>      |-index.js   
>      |-templates
>        |-sails
>        |-_connections.js
>        |- ....

在生成器的index.js上。我创建了一个函数来在 js 文件上写入我需要的数据。我在 copyTpl() 函数内发送了一个 JSON 对象,其中包含新文件中需要的数据:

connections() {
      this.fs.copyTpl(this.templatePath('_connections.js'), this.destinationPath('./config/connections.js'),
      {
        dbName: this.item.dbName
      });
    }

在 _connections.js 中我写道:

database: '<%=dbName%>' //optional

注意dbName是我为在index.js中的copyTpl()函数内发送的JSON提供的 key 。

关于javascript - 在生成的模板中使用 yeoman-generator 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44183321/

相关文章:

javascript - 可以使用 $(this).parent().parent() 吗?

javascript - 向 d3 SVG map 添加点

javascript - this.router 在 AngularJS 2 中未定义

angularjs - 重新排序数组时如何使用angular-animate触发ng-move?

javascript - ngAnimate 与 ui-view

node.js - 使用 node.js 应用程序进行 Grunt livereload

javascript - HTML5 Canvas 平滑地将 x,y 递增到 origin(0,0)

javascript - 在javascript文件中导入包,该文件是html的脚本

npm - 运行自耕农角度生成器, karma 依赖错误

javascript - 最新的 EmberJS 无法识别最新的 Handlebars