最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

字符串数组回来为未定义child

运维笔记admin10浏览0评论

字符串数组回来为未定义child

字符串数组回来为未定义child

我创建一个程序,可帮助快速建立项目。它查询了名的用户,需要的依赖关系,然后创建一个文件夹,应该在它安装依赖。依赖关系是存储在可没有问题,可以访问阵列。然而,在child_process.exec功能的环内,所述阵列元件回来为未定义。下面的代码:

const inquirer = require('inquirer');
const fse = require('fs-extra');
const cp = require("child_process");
const path = require('path');

(function(){
    let projectName;
    let dependencies;
    console.log("Welcome to Node Project Creator.");
    inquirer.prompt([{type: String, name: "ProjectName", message: "What would you like to name your project?"}]).then(function(answer){
        projectName = answer.ProjectName;
        console.log(projectName + " is a great name!");
        fse.mkdir(path.join(__dirname, projectName));
        console.log("Project folder created.");
        inquirer.prompt([{type: String, name: "dependencies", message: "Enter dependencies seperated by spaces."}]).then(function(answer){
            if (answer.dependencies){
                dependencies = answer.dependencies.split(" ");
                console.log("Okay, I will install your dependencies.");
                console.log(dependencies);
            } else {
                console.log("I guess you don't need any dependencies.");
            }
            try {
                process.chdir(path.join(__dirname, projectName));
                for (var i = 0; i < dependencies.length; i++){
                    cp.exec("npm install " + dependencies[i], function(err){
                        if (err){
                            console.error(err);
                        } else {
                           console.log(dependencies[i] + " installed.");
                        }
                    });
                    console.log("Thank you for using Node Project Creator.");
                }
            } catch (err){
                console.error(err);
            }
        });
    });
})();


回答如下:

cp.exec()回调异步调用,当i已经不< dependencies.length。尝试let i = 0使绑定到每个循环值i

见http://exploringjs/es6/ch_variables.html#sec_let-const-loop-heads

发布评论

评论列表(0)

  1. 暂无评论