我已经碰壁了,所以我希望有人可以帮我解决这个问题......我正在整理一个新的Grunt堆栈,我可以在我的所有项目中使用它。但是,无论出于何种原因,它目前还没有加载任务。
这是我的Gruntfile:
'use strict';
module.exports = function (grunt) {
var config = {
pkg: require('package.json')
};
// Load all grunt configuration options
grunt.util._.extend(config, loadConfig('./grunt/modules/'));
// Configure grunt
grunt.initConfig(config);
// Load and register all tasks from devDependencies
require('jit-grunt')(grunt);
// Load all custom tasks
grunt.loadTasks('grunt');
}
/**
* Load configuration files for Grunt
* @param {string} path Path to folder with tasks
* @return {object} All options
*
* http://thenittygritty.co/shared-grunt-configuration
*/
var loadConfig = function (path) {
var glob = require('glob');
var object = {};
var key;
glob.sync('*', { cwd: path }).forEach(function (option) {
key = option.replace(/\.js$/,'');
object[key] = require(path + option);
});
return object;
};
所以,我有一个“grunt”文件夹,其中包含我的所有自定义,别名和第三方任务。自定义和别名任务位于主文件夹中,而已安装的第三方任务(cssmin.js,watch.js等)位于“grunt / modules”文件夹中。
以下是自定义和第三方的示例......
咕噜/模块/ connect.js:
'use strict';
// https://github.com/gruntjs/grunt-contrib-connect
module.exports = {
dev: {
options: {
port: 6000,
base: 'dist',
livereload: true
}
}
}
咕噜/ serve.js:
'use strict';
module.exports = function (grunt) {
grunt.registerTask(
'serve',
[
'build:dev',
'connect',
'watch'
]
);
}
然而,当我运行“grunt serve”(或任何东西)时,我得到一个未找到任务的错误:
Loading "Gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function
Warning: Task "serve" not found. Use --force to continue.
Aborted due to warnings.
有什么想法吗?
答案 0 :(得分:1)
这个问题实际上与我的Gruntfile没有任何关系......我的一个任务中有一个问题导致Grunt失败。一旦我解决了这个问题,一切都开始了。