是否有可能使用gruntjs和/或lesscss将所有的CSS放在一行?

所有的.js和.less文件都是在我的项目中用gruntjs(内置.js支持)和grunt-less-contrib插件在.less文件中完成的。

一时间,lesscss以一种每行定义的方式压缩css,比如下面的.less文件:

div,span,textarea,input { margin:0; } 

它会输出:

 div, span, textarea, input { margin:0; } 

我想压缩所有的CSS到一行,对于这个例子,它应该是这样的:

 div,span,textarea,input{margin:0;}...other styles... 

可能吗? 任何build议都会有所帮助,我不确定这是一个直接的问题。

也许可以在构buildbuild.css之后添加一个任务,然后执行串联?

grunt-contrib-less插件也足以缩小编译的CSS。 你不需要另一个插件来缩小你的代码。

它有两个特定于这个用例的选项:

所以在你的情况下,“yuicompress”将是正确的事情添加到你的gruntfile。

你可以使用模块grunt-cssgrunt.js来缩小你的CSS文件

  • npm install grunt-css --save-dev安装模块
  • 使用grunt.loadNpmTasks('grunt-css')将模块加载到grunt.jsGruntfile.js (取决于使用的grunt版本);

  • Gruntfile.js的任务configuration为,

     grunt.initConfig({ less: { //YOUR LESS CONFIG }, cssmin: { YOUR_TARGET: { src: 'SRC_PATH/input.css', dest: 'DEST_PATH/output.min.css' } } }); 
  • 您可以使用以下configuration合并和缩小多个css文件,

     grunt.initConfig({ less: { //YOUR LESS CONFIG }, cssmin: { YOUR_TARGET: { src: 'SRC_PATH/**/*.css', dest: 'DEST_PATH/output.min.css' } } }); 
  • 用grunt构build任务注册你的任务,在较less的任务之后运行,

     grunt.registerTask('default', ['less', 'cssmin']) 
  • 现在你可以运行grunt build或者grunt cssmin来生成缩小的CSS文件。

grunt-css模块内置了csslint ,所以你也可以添加一个任务来提升你的css文件。

可以在https://github.com/jzaefferer/grunt-cssfind更多configuration/选项