Sha*_*ane 4 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' +
'* 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'
}
},
Run Code Online (Sandbox Code Playgroud)
我正在创建pkg变量,然后尝试从concat.dist下的对象中提取名称,因为它来自新的grunt-init模板。运行concat:dist时,我无法读取未定义的属性“名称”。我已经验证了文件和package.json“文件中节点” name“的存在。
鉴于我是Node的新手,所以我不确定在调用grunt任务时这些闭包是否会持续存在,如果确实存在,我使用的约定是否错误?这有可能吗?
我的猜测是package.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);
});
Run Code Online (Sandbox Code Playgroud)
现在只需从命令行运行即可grunt logvar。如果仍然出现错误,那么我们就消除了其他所有内容,这意味着您的package.json文件不可访问。我建议检查它是否位于同一目录中Gruntfile.js,并且具有读取权限。
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |