javascript - Grunt 可以单独缩小多个文件,而不将它们连接起来吗?

标签 javascript gruntjs sails.js

我有一个 Sailsjs 项目,它内置了 Grunt。下面是 tasks/register/prod.js 的样子:

module.exports = function(grunt) {
  grunt.registerTask('prod', [
    'compileAssets',
    //'concat',
    'uglify',
    'cssmin',
    'sails-linker:prodJs',
    'sails-linker:prodStyles',
    //'sails-linker:devTpl',
    //'sails-linker:prodJsJade',
    //'sails-linker:prodStylesJade',
    //'sails-linker:devTplJade'
  ]);
};

这是我尝试让 Grunt 分别缩小文件 tasks/config/cssmin.js:

module.exports = function(grunt) {

  grunt.config.set('cssmin', {
    dist: {
      src: 'assets/css/test.css',
      dest: '.tmp/public/min/test.min.css'
    }
  });

  grunt.config.set('cssmin', {
    dist: {
      src: 'assets/css/main.css',
      dest: '.tmp/public/min/main.min.css'
    }
  });

  grunt.loadNpmTasks('grunt-contrib-cssmin');
};

这不能正常工作,它只给我 main.min.css(缩小)而不是 test.min.css。

最佳答案

“dist”不是语法的静态部分,它是目标的名称。您可以有任意多个目标,但不能有两个同名。

grunt.config.set('cssmin', {
  test: {
    src: 'assets/css/test.css',
    dest: '.tmp/public/min/test.min.css'
  },
  main: {
    src: 'assets/css/main.css',
    dest: '.tmp/public/min/main.min.css'
  }
});

运行“cssmin”执行两个目标,“cssmin:test”运行第一个,“cssmin:main”运行第二个。

关于javascript - Grunt 可以单独缩小多个文件,而不将它们连接起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41869285/

相关文章:

javascript - string.replace 不在 grunt 和 grunt-angular-templates 中链接

css - grunt-cssc 不工作 "cannot read property ' 类型'"~ Foundation 5

sails.js - 如何将Sails Controller配置为仅使用 'Post'方法

reactjs - Sails.js 预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段授权

javascript - Angular, sails 路由问题

javascript - 我正在使用 socket.io 但客户端和服务器之间没有通信

powershell - 从 Grunt 执行 PowerShell 脚本

Javascript - 访问 JSON 对象数组

javascript - webpack-开发服务器 : command not found

javascript - Vuetify.js:如何在 v-card 的 v-img 组件的右上角显示文本?