将 Grunt 与 Visual Studio 发布选项集成

Integrate Grunt with Visual Studio publish option

我想在为 dev/test/production.

发布 Web 应用程序时执行 grunt 任务

现在,当我构建我的解决方案时,我已经配置为执行 grunt task.But,当我发布我的网络应用程序时,即使 visual studio 构建解决方案它也不会执行发布前。

知道我该怎么做吗?

您没有指定 Visual Studio 版本。我发现这适用于 VS 2015 和 .Net 核心

我已经使用 Grunt 和 Project.JSON 文件来完成这个。

Grunt.JS

module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-cssmin');
    grunt.loadNpmTasks('grunt-contrib-clean');


    grunt.initConfig({

        uglify: {
            options: {
                mangle: false,
                beautify: true
            },
            my_target: {
                files: {
                    'wwwroot/app/app.js':
                        [
                             'wwwroot/*.js',
                             'wwwroot/services/*.js',
                             'wwwroot/view/**/*.js',
                             'wwwroot/common/*.js'
                        ]
                }
            }
        },        

        cssmin: {
            options: {
                shorthandCompacting: false,
                roundingPrecision: -1
            },
            target: {
                files: {
                    'wwwroot/app/app.css':
                    [
                        'wwwroot/*.css',
                        'wwwroot/view/**/*.css'
                    ]
                }
            }
        },

        watch: {
            scripts: {
                files: [
                            'wwwroot/services/*.js',
                            'wwwroot/view/**/*.js',
                            'wwwroot/*.js'
                        ],
                tasks: ['uglify']
            },
            css: {
                files: [
                        'wwwroot/*.css',
                        'wwwroot/view/**/*.css'
                        ],
                tasks: ['cssmin']
            }
        },
        clean: {
            prod: {
               src: ['wwwroot/pdf/*']
            }
        }

    });


    grunt.registerTask('build', ['uglify', 'cssmin', 'clean']);
};

Project.Json

"scripts": {
    "prepublish": [ "grunt build" ]

  }