在Visual Studio 2015中启动IIS Express会话后,如何运行gulp任务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Visual Studio 2015中启动IIS Express会话后,如何运行gulp任务相关的知识,希望对你有一定的参考价值。

我想运行一个gulp任务,必须在我的http服务器在端口55555上联机后启动。

因此,我在Visual Studio中通过F5手动启动我的IIS Express调试,然后启动我的'watch'任务运行器。

我想在一步自动化中实现这一点。

我正在使用VS 2015 Pro和asp.net core / vnext项目。

gulp.task('watch',function(){

bs.init({
  proxy: 'localhost:55555',
    notify: true,
    open: true,
    logLevel: 'debug',

});

bs.watch("./wwwroot/app/**/*.js", function (event, file) {
    gutil.log('Event: ' + event);
    if (event === "change") {
        bs.reload();
    }
});

});

在任务运行器的后期构建事件中挂钩监视任务没有帮助,因为在构建完成并运行监视任务时,iis express将作为最后一个启动:/

一个解决方案是在Full IIS上本地运行我的应用程序,因此端口55555始终在线,但iis express对于开发很方便;-)

答案

Visual Studio内置了使用绑定事件运行grunt gulp的解决方案

如您所见,我们有构建前,构建后,清理,项目打开

enter image description here

示例我有Gruntfile.js,它将在我的解决方案构建之后运行

/// <binding AfterBuild='cleanup' />
module.exports = function(grunt) {
  require("jit-grunt")(grunt);
  grunt.initConfig({
    clean: ["./Modules/*"],
    copy: {
      main: {
        expand: true,
        src: [
          "../Modules/**/Views/**",
          "../Modules/**/bin/Debug/**/**/*.*",
          "../Modules/**/wwwroot/**",
          "!../Modules/AwesomeCMSCore.Modules.Frontend/**"
        ],
        dest: "./Modules/"
      },
      css: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["cmscore.css"],
        dest: "./wwwroot/dist/"
      },
      js: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["*.js"],
        dest: "./wwwroot/dist/"
      },
      static: {
        expand: true,
        cwd: "../Modules/AwesomeCMSCore.Modules.Frontend/wwwroot/dist",
        src: ["**"],
        dest: "./wwwroot/dist/"
      }
    },
    watch: {
      css: {
        files: ["../Modules/**/wwwroot/dist/*.css"],
        tasks: ["copy:css"],
        options: {
          reload: true,
          spawn: false
        }
      },
      js: {
        files: ["../Modules/**/wwwroot/dist/*.js"],
        tasks: ["copy:js"],
        options: {
          reload: true,
          spawn: false
        }
      }
    }
  });
  grunt.registerTask("default", ["watch"]);
  grunt.registerTask("cleanup", [
    "clean",
    "copy:main",
    "copy:static"
  ]);
};

以上是关于在Visual Studio 2015中启动IIS Express会话后,如何运行gulp任务的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 更新 1 - 调试时没有 IIS Express 响应

如何在 .NET Core、C# 6 和 Visual Studio 2015 中使用本地 IIS?

Visual Studio提示“无法启动IIS Express Web服务器”的解决方法

Visual studio 调试发布到IIS站点方式一

Visual Studio提示“无法启动IIS Express Web服务器”的解决方法

Visual Studio提示“无法启动IIS Express Web服务器”的解决方法