2

我已经将我的 grunt 插件拆分为它们自己的文件,并且我正在使用 load-grunt-config ( https://github.com/firstandthird/load-grunt-config ) 来调用它们:

module.exports = function (grunt) {

  'use strict';

  require('load-grunt-config')(grunt);
}; 

我有 sass、autoprefixer、cssmin 和 watch 任务,但我也在使用 Browsersync 和 px-to-rem 这两个插件返回:

Warning: Task "remify" not found. Use --force to continue.

Warning: Task "browsersync" not found. Use --force to continue.

当单独调用或作为更大任务的一部分调用时。

我已经遵循了这两个插件的separate.js 文件的语法,所以我很茫然。例如运行 grunt 时调用的 remify.js 文件是这样写的

module.exports = {
  dist: {
    options: {
      base: 16,
      fallback: true,
      fallback_existing_rem: true,
      ignore: []
    },
    files: {
      'css/style.css': 'css/style.css'
    }
  }
};

有什么想法会出错吗?

我还设置了示例代码的要点,包括 package.json 和 aliases.yml

https://gist.github.com/sturobson/f88258fd010e901e24d9

4

2 回答 2

3

您必须准确地调用 grunt 插件。所以我应该在哪里remify使用px_to_rem,在哪里我browsersync应该在哪里使用browserSync

傻我。

于 2014-11-22T14:03:26.813 回答
3

您可以传递第二个参数来load-grunt-config提供一些选项,您还可以在其中定义一些可由内部使用的load-grunt-tasks使用的模式。

如果您不传递第二个参数,它会使用load-grunt-tasks的默认模式,即grunt-*.

因此,如果您想加载所有 devDependencies 而不单独定义它们,请这样做:

require('load-grunt-config')(grunt, {
    loadGruntTasks: {
        pattern: '*',
        scope: 'devDependencies'
    }
});
于 2014-11-22T23:11:21.230 回答