我的最新提交是a repo on GitHub。
我正在使用GruntJS设置一个项目(上面的链接)。在尝试运行任何Grunt任务时,我得到No "<insert-taskname>" targets found
;几个例子:
否&#34; browserSync&#34;找到目标。 警告:任务&#34; browserSync&#34;失败。使用--force继续。
不&#34; jshint&#34;找到目标。 警告:任务&#34; jshint&#34;失败。使用--force继续。
不,#34; sass&#34;找到目标。 警告:任务&#34; sass&#34;失败。使用--force继续。
我使用load-grunt-configs插件使用外部.js
Grunt配置文件。我在其他项目中使用了非常类似的设置而没有任何问题。我使用作为Gruntfile.js
插件一部分的grunt-configs
对象将options
中初始化的共享Grunt变量传递给每个load-grunt-configs
文件
我已经尝试检查外部配置文件中使用的Grunt变量,仔细检查我的语法和括号匹配,以及搜索其他堆栈溢出问题而没有运气。
任何帮助将不胜感激!谢谢。
答案 0 :(得分:3)
我建议使用分解Gruntfile的惯用和内置方法。第三方解决方案往往远离Grunt API。
创建一个名为tasks/
的文件夹,并在该文件夹中添加类似于您当前正在执行的文件。
使用grunt.loadTasks()
:
// Gruntfile.js
module.exports = function(grunt) {
// Initialize config.
grunt.initConfig({
pkg: require('./package.json'),
});
// Load per-task config from separate files.
grunt.loadTasks('tasks');
};
每个文件的格式都像mini Gruntfiles。以下是jshint的示例:
// tasks/jshint.js
module.exports = function(grunt) {
grunt.config('jshint', {
app: {
options: {jshintrc: 'app/.jshintrc'},
src: ['app/**/*.js'],
},
});
grunt.loadNpmTasks('grunt-contrib-jshint');
};
以下是Grunt自己创作者的解决方案的完整示例:https://github.com/cowboy/wesbos
答案 1 :(得分:1)
你的问题在你的配置任务中。
你正在做什么module.exports = {
你需要这样做:
module.exports.tasks = {
除此之外,我建议遵循kyle的回答,因为使用grunt的内置功能更加清晰!