2

我发现 Web Essentials autoprefixer 不够自动 - 我需要手动说出它来添加前缀。此外,当我写.less.scss.

是否有任何扩展或选项可以使其自动在 css 编译.less.scss阶段添加前缀?

我试过 Web Compiler 扩展,但它不支持 sass 的前缀,并说它支持 less 的前缀,但我尝试在编写时在 compilerconfig.json 中启用 autoprefix,.less它没有添加任何东西。

视觉工作室有什么东西吗?或者也许我应该转储它并使用一些编辑器+ gulp?

4

1 回答 1

3

我敢肯定会有一个扩展,但是创建一个 Grunt/Gulp 文件来为你编译并不是太多的工作。Task Runner Explorer 然后将管理文件的运行。编写自己的代码将为您提供扩展所没有的控制和灵活性。

这是一个使用 Grunt 的示例,取自我关于Grunt、SASS 和 Task Runner Explorer 入门主题的帖子

module.exports = function (grunt) {
    'use strict';

    grunt.loadNpmTasks('grunt-sass');
    grunt.loadNpmTasks('grunt-autoprefixer');
    grunt.loadNpmTasks('grunt-contrib-watch');

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        // Sass
        sass: {
            options: {
                sourceMap: true, // Create source map
                outputStyle: 'compressed' // Minify output
            },
            dist: {
                files: [
                  {
                      expand: true, // Recursive
                      cwd: "sass", // The startup directory
                      src: ["**/*.scss"], // Source files
                      dest: "stylesheets", // Destination
                      ext: ".css" // File extension 
                  }
                ]
            }
        },

        // Autoprefixer
        autoprefixer: {
            options: {
                browsers: ['last 2 versions'],
                map: true // Update source map (creates one if it can't find an existing map)
            },

            // Prefix all files
            multiple_files: {
                src: 'stylesheets/**/*.css'
            }, 
        },

        // Watch
        watch: {
            css: {
                files: ['sass/**/*.scss'],
                tasks: ['sass', 'autoprefixer'],
                options: {
                    spawn: false
                }
            }
        }
    });

    grunt.registerTask('dev', ['watch']);
    grunt.registerTask('prod', ['sass', 'autoprefixer']);
};
于 2016-01-26T14:08:33.940 回答