gpt4 book ai didi

javascript - yeoman 子生成器如何访问主生成器上定义的变量?

转载 作者:行者123 更新时间:2023-11-27 23:37:39 26 4
gpt4 key购买 nike

我正在做一个子生成器,我想将主生成器上定义的变量传递给这个子生成器:像这样的事情:

  writing: function() {
console.log(this.appversion);
var email = this.email; // Variable defined on the main controller.
this.fs.copy(
this.templatePath('somefile.js'),
this.destinationPath('somefile.js')
);

我尝试在主生成器上执行类似以下代码的操作:

this.composeWith('jstack1:controller', {options: {name: 'some-name'}});

以及子生成器上的以下代码

this.option('name', {/* settings */});

但我不确定这是否是一个好方法,而且我总是收到以下错误消息:

Error: Did not provide required argument [1mname[22m! at null. (C:\Users\Alexandre_\generator-jstack1\generator-generator-jstack1\node_modules\yeoman-generator\lib\base.js:359:33) at Array.forEach (native) at Base.checkRequiredArgs (C:\Users\Alexandre_\generator-jstack1\generator-generator-jstack1\node_modules\yeoman-generator\lib\base.js:355:19) at argument (C:\Users\Alexandre_\generator-jstack1\generator-generator-jstack1\node_modules\yeoman-generator\lib\base.js:321:8) at module.exports.yeoman.generators.Base.extend.initializing (C:\Users\Alexandre_\generator-jstack1\generator-generator-jstack1\generators\controller\index.js:6:10) at C:\Users\Alexandre_\generator-jstack1\generator-generator-jstack1\node_modules\yeoman-generator\lib\base.js:421:16 at processImmediate [as _immediateCallback] (timers.js:383:17)

最佳答案

But I am not sure if it is a good way to do this

是的,这是正确的方法。生成器相互通信的唯一方式是通过选项和参数。 (还可以通过缓存/配置和文件系统进行一些通信,但这些不是频繁的 channel 。)

关于错误,我的猜测是您正在扩展 generators.NamedBase 而不是 generators.Base

关于javascript - yeoman 子生成器如何访问主生成器上定义的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33989904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com