Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript grunfile.js任务可以';不读取包值?_Javascript_Node.js_Gruntjs_Grunt Init - Fatal编程技术网

Javascript grunfile.js任务可以';不读取包值?

Javascript grunfile.js任务可以';不读取包值?,javascript,node.js,gruntjs,grunt-init,Javascript,Node.js,Gruntjs,Grunt Init,在Gruntfile.js的initConfig函数中,我有以下内容: grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + '<%= grunt.template.today("yyyy-mm-dd") %>\n' +

在Gruntfile.js的initConfig函数中,我有以下内容:

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
      '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
      '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;',
    concat: {
      options: {
        banner: '<%= banner %>',
        stripBanners: true
      },
      dist: {
        src: ['src/<%= pkg.name %>.js'],
        dest: 'dist/<%= pkg.name %>.js'
      }
    },
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
横幅:'/*!-v-'+
“\n”+
“*版权(c);”,
康卡特:{
选项:{
横幅:'',
条幅:真的吗
},
地区:{
src:['src/.js'],
dest:'dist/.js'
}
},
我正在创建pkg变量,然后尝试从concat.dist下的对象中提取名称,因为这来自一个新的grunt init模板。在运行concat:dist时,我无法读取undefined的属性“name”。我已经验证了package.json”文件中是否存在该文件和节点“name”


鉴于我是node的新手,我不确定调用grunt任务时这些闭包是否会持续存在,如果它们持续存在,我是否使用了错误的约定?这有可能吗?

我的猜测是,出于某种原因,它无法读取您的
包.json
文件。或者是因为它不存在(可能命名不同?)或者没有读取权限。您可以创建一个简单的测试,查看是否可以从Grunt访问该文件:

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    logvar: {
        data: '<%= pkg.name %>'
    }
});

grunt.registerTask('logvar', function() {
    grunt.log.writeln(grunt.config.get('logvar').data);
});
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
对数变量:{
数据:“”
}
});
registerTask('logvar',function()){
grunt.log.writeln(grunt.config.get('logvar').data);
});

现在只需从命令行运行
grunt logvar
。如果仍然出现错误,那么我们已经消除了其他任何错误,这意味着您的
package.json
文件无法访问。我建议您检查它是否与
Gruntfile.js
位于同一目录中,并且它是否具有读取权限。

是否存在
“在您的
包.json
文件中命名“
”?是的,很抱歉,忘了澄清这一点。问题是“未定义”"这通常意味着一个空指针错误,因此是一个空对象。我要澄清一下,谢谢你的工作!!!现在我完全糊涂了。谢谢你的建议,非常有用,给了我很多新的见解。如果这样做有效,那么我会尽可能让你的设置降到最低,看看哪里出了问题…你确定这是
的问题吗cat
任务?可能是“上面”的某个东西破坏了东西?可能创建另一个变量(如
横幅
)并使用它来查看它是否有效?它必须在那之前…我已经硬编码了名称,我也遇到了同样的问题。谢谢!