Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 使用Grunt加载配置将Grunt文件拆分为多个部分:找不到任务_Javascript_Node.js_Configuration_Gruntjs_Task - Fatal编程技术网

Javascript 使用Grunt加载配置将Grunt文件拆分为多个部分:找不到任务

Javascript 使用Grunt加载配置将Grunt文件拆分为多个部分:找不到任务,javascript,node.js,configuration,gruntjs,task,Javascript,Node.js,Configuration,Gruntjs,Task,我正在尝试使用load Grunt config将相当大的Grunt文件拆分为几个较小的部分。我在项目的根目录中有一个Gruntfile.js,子任务在一个名为grunt的目录中 这是我的Grunfile.js: module.exports = function(grunt) { require('load-grunt-config')(grunt, { loadGruntTasks: { pattern: '*', config: requ

我正在尝试使用load Grunt config将相当大的Grunt文件拆分为几个较小的部分。我在项目的根目录中有一个Gruntfile.js,子任务在一个名为grunt的目录中

这是我的Grunfile.js:

module.exports = function(grunt) {
    require('load-grunt-config')(grunt, {
      loadGruntTasks: {
        pattern: '*',
        config: require('./bower.json'),
        scope: 'devDependencies'
      }
    });
};
例如,这是我的grunt/copy.js文件:

module.exports = function (grunt) {
  return {
      main: {
        files: [{
          cwd: 'init/php/templates',
          src: '<%= init.php.templates %>',
          dest: 'src/php/templates',
          expand: true
        }],
        options: {
          process: function (content, srcpath) {
            return grunt.template.process(content);
          }
        }
      }
  }
};

我在这里咬花岗岩。一定是出了什么问题,但我真的不知道是什么问题,所以任何提示都非常感谢。

对于感兴趣的人。下面是我如何解决Bower.json问题的。我现在正在使用包grunt bower任务,这非常好

这是我的Grunfile.js

module.exports = function(grunt) {
    require('load-grunt-config')(grunt);
};
grunt/bower.js上的install.js

module.exports = {
  install: {
    options: {
      targetDir: "./assets/dev/",
      layout: "byType",
      install: true,
      verbose: false,
      cleanBowerDir: false,
      cleanTargetDir: true,
      bowerOptions: {}
    }
  }
}
还有我的bower.json

{
  "name": "myProject",
  "version": "1.0.0",
  "dependencies": {
    "bootstrap": "latest",
    "fontawesome": "latest"
  },
  "exportsOverride": {
    "bootstrap": {
      "vendor/js": "**/*.min.js",
      "vendor/css": "**/bootstrap.min.css"
    },
    "jquery": {
      "vendor/js": "**/jQuery.min.js"   
    },
    "fontawesome": {
      "vendor/css": "**/*.min.css",
      "vendor/css/fonts": "**/fontawesome-webfont.*"    
    }
  }
}

这会自动将所有文件排序到我的dev/assets/文件夹中的vendor/css和vendor/js文件夹中,并且只从我指定的bower.packages中获取这些文件。这确实有助于保持整个设置的整洁

我认为您需要删除Gruntfile.js中的grunt.initConfig。
并使用require'load-grunt-config'grunt,{data:{pkg:grunt.file.readJSON./package.json,…}向每个任务传递您想要提供的数据

你试过让一个基本版本工作吗?可能只有一个任务没有其他配置:需要'load-grunt-config'grunt?也许你复制任务配置只是为了看看问题是出在配置还是加载grunt配置插件上。原来问题出在loadGruntTasks部分。我使用它将我的安装任务指向右边的bower.json,因为现在它需要一个位于grunt文件夹中的bower.json和一个位于根目录中的bower.json。通过配置,我解决了这个问题,但显然这会导致任务崩溃。现在我需要找到一种只使用一个bower.json的方法;很高兴你至少找到了一部分!
{
  "name": "myProject",
  "version": "1.0.0",
  "dependencies": {
    "bootstrap": "latest",
    "fontawesome": "latest"
  },
  "exportsOverride": {
    "bootstrap": {
      "vendor/js": "**/*.min.js",
      "vendor/css": "**/bootstrap.min.css"
    },
    "jquery": {
      "vendor/js": "**/jQuery.min.js"   
    },
    "fontawesome": {
      "vendor/css": "**/*.min.css",
      "vendor/css/fonts": "**/fontawesome-webfont.*"    
    }
  }
}