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

问题描述 投票:4回答:1

我想运行一个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 gulp asp.net-core
1个回答
0
投票

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"
  ]);
};
© www.soinside.com 2019 - 2024. All rights reserved.