【发布时间】:2015-01-25 15:28:52
【问题描述】:
我正在尝试将现有的 Gruntfile 分成更小的文件,以便更轻松地进行概述。然而,我遇到了一个颠簸。我正在使用 bower.install 来安装我的项目依赖项。 我的文件夹结构如下所示:
package.json
bower.json
config
--install.js
--default.js //Empty for now
gruntfile.js
我的 Gruntfile 现在看起来像这样:
'use strict';
module.exports = function(grunt) {
var npmDependencies = require('./package.json').devDependencies;
require('load-grunt-tasks')(grunt);
var configs = {
config : {
paths : {
"build" : ["grunts/*.js*", "package.json", "bower.json", "Gruntfile.js"],
}
}
};
var loadConfigs = require( 'load-grunt-configs' );
configs = loadConfigs( grunt, configs );
// Project configuration.
grunt.initConfig( configs );
}
我的 install.js 看起来像这样:
module.exports = function(grunt) {
var done = grunt.async();
var bower = require('bower').commands;
bower.install().on('end', function(data) {
done();
}).on('data', function(data) {
console.log(data);
}).on('error', function(err) {
console.error(err);
done();
});
}
但是这不起作用,因为我收到了错误:
>> TypeError: Object #<Object> has no method 'async'
如果我删除所有异步混乱(我最终想要保留),那么文件看起来会简单很多:
module.exports = function(grunt) {
var bower = require('bower').commands;
bower.install();
}
我仍然收到以下错误:
>> TypeError: Cannot call method 'hasOwnProperty' of undefined
我对这个主题相当陌生,到目前为止(将所有内容都放在一个文件中)它运行良好。现在的大问题:我如何回到那个点;)
【问题讨论】:
标签: javascript node.js gruntjs bower