javascript – 如何使’grunt less’自动运行autoprefixer?

我有一个工作Gruntfile少和autoprefixer.我也有’咕噜咕噜’的工作正常.

在我使用autoprefixer之前,我使用较少的mixins作为供应商前缀.运行’grunt less’将构建包含所有前缀的工作CSS.

现在我有autoprefixer,但是如果我想要一次性构建我的样式,我现在必须运行’grunt less’然后’grunt autoprefixer’来获得带有前缀的CSS.

如何修改’grunt less’以使其构建工作,前缀更少?

I’ve read the docs,and I know I could add an additional task to do both these things.但是:

>’grunt less’现在没有可用的输出.任务应始终生成可用的输出.
>我不想告诉其他人’少咕噜’不会产生可用的输出
>不需要额外的任务来替换不起作用的任务

即,我只想减少咕噜声来制作有效的CSS(带前缀).

module.exports = function(grunt) {

  // Load Grunt tasks declared in the package.json file
  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

  // Configure Grunt
  grunt.initConfig({

    less: {
      development: {
        options: {
          paths: ["./less"],yuicompress: false
        },files: {
          "./public/css/style.css": "./public/less/style.less"
        }
      }
    },autoprefixer: {
      development: {
        browsers: ['last 2 version','ie 9'],expand: true,flatten: true,src: 'public/css/*.css',dest: 'public/css'
      }
    },watch: {
      less: {
        files: ["./public/less/*"],tasks: ["less","autoprefixer:development"],options: {
          livereload: true
        }
      }
    },});


};

解决方法

Grunt无法完成您在问题中描述的内容,因为任务本身并不了解彼此.您必须使用别名,(简单)或函数(当您需要更多控制时)将任务粘合在一起,但是无法在不更改源的情况下修改其中一个任务的行为方式.

作为一个例子,你可以派grunt-contrib-less并添加代码来直接运行自动前缀到这里:https://github.com/gruntjs/grunt-contrib-less/blob/master/tasks/less.js#L69 – 在这里注入这一行https://github.com/nDmitry/grunt-autoprefixer/blob/master/tasks/autoprefixer.js#L56然后使用你的fork而不是官方插件.

最简单和最好的方法是注册一个新任务,完成这两个任务的工作但在一个命令中,即:

grunt.registerTask('buildless',['less','autoprefixer']);

我用自己的所有任务完成这项工作 – SASS编译,JS concat uglify,webfont生成等.只需告诉团队中的其他人运行这些任务,而不是自己咕噜咕噜或咕噜咕噜的autoprefixer.

更好的是,use my Grunt plugin available tasks.有了这个(以及过滤器配置),只要有人运行grunt可用任务,您就可以生成一个精简的任务列表,尽管我更喜欢将其替换为快速键入的任务.如果你像我一样并且被自动化错误所困扰(并且已经在Gruntfile中注册了大量的插件),这确实可以帮助新项目运行任务的项目.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)