栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何创建和组织配置并注册Grunt任务

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何创建和组织配置并注册Grunt任务

您可以通过以下方式组织艰苦的任务:

  • config :默认任务
  • register :调用多个默认任务的别名任务

您必须遵守的一些规则

  • 文件名必须与任务名称相同(例如:ngAnnotate.js-> task:ngAnnotate)
  • 通过grunt插件将您的配置任务分组在一个文件中。 不要在配置任务中混用grunt-plugins,这里有注册任务。
  • 配置任务的名称和注册任务是共享的,因此您无法设置

    home
    配置任务和
    home
    注册任务,因为当您用grunt home调用它时,grunt无法知道您要引用的任务。

    ├── Gruntfile.js
    └── grunt
    ├── config
    │ ├── sass.js
    │ ├── concat.js
    │ └── uglify.js
    └── register
    ├── GroupOfTasks.js
    └── AnotherGroupOfTasks.js


Gruntfile.js
将使用以下代码加载和配置
grunt/config
grunt/register
文件夹中的所有任务:

module.exports = function(grunt) {    // Load the include-all library in order to require all of our grunt    // configurations and task registrations dynamically.    var includeAll;    try {        includeAll = require('include-all');    }    catch (e0) {        console.error('Could not find `include-all` module.');        console.error('Skipping grunt tasks...');        console.error('To fix this, please run:');        console.error('npm install include-all --save-dev');        console.error();    }        function loadTasks(relPath) {        return includeAll({     dirname: require('path').resolve(__dirname, relPath),     filter:  /(.+).js$/ }) || {};    }        function invokeConfigFn(tasks) {        for (var taskName in tasks) { if (tasks.hasOwnProperty(taskName)) {     tasks[taskName](grunt); }        }    }    // Load task functions    var taskConfigurations  = loadTasks('./grunt/config'),        registerDefinitions = loadTasks('./grunt/register');    // Run task functions to configure Grunt.    invokeConfigFn(taskConfigurations);    invokeConfigFn(registerDefinitions);};

您的配置任务应如下所示(Eg:)

sass.js

module.exports = function(grunt) {    grunt.config.set('sass', {        dev: { options: {     sourceMap: false }, files: {     'main.css': 'main.scss' }         }    });    grunt.loadNpmTasks('grunt-sass');};

您将能够运行config任务,

grunt sass
以运行所有sass任务或
grunt sass:dev
仅运行一个任务。

注册任务应如下所示(例如:

SassAndConcat
要运行的任务
sass
concat
任务):

module.exports = function(grunt) {    grunt.registerTask('SassAndConcat', [        'sass:dev',        'concat:dev',    ]);};

现在您将能够运行

grunt SassAndConcat

如果您了解这一点,则可以通过在正确的时间运行正确的任务来更有效地运行Grunt任务。

不要忘记安装

include-all
NPM模块,以动态要求我们执行所有必需的配置和任务注册。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号