Онлайн-приложение LiveReload ASP.net MVC с Grunt

Можно ли ворчать смотреть файлы и автоматически перезагружать веб-приложение ASP.net MVC. Либо работает только с файлами, поданными через хрюканье. Я столкнулся с grunt плагином grunt-iisexpress, но не совсем уверен, могу ли я использовать его в сочетании с задачами для перезагрузки ASP.net MVC webapp при изменении файла.

У меня нет index.html как стартовой страницы в моем веб-приложении, а _ViewStart.cshtml, который запускает все приложение.

Ответ 1

Это возможно. Я просто загрузил перезагрузку в своем приложении ASP.NET, используя grunt-contrib-watch (https://github.com/gruntjs/grunt-contrib-watch). Это заняло всего несколько минут.

Я использовал эту статью в качестве руководства: http://www.aliirz.com/javascript/2013/12/25/Live-Reload-with-Grunt/.

Сделайте это с помощью командной строки в папке приложения ASP.NET.

1. Установите grunt-contrib-watch

Если у вас еще нет файла package.json и вы хотите сохранить свои зависимости в одном:

npm init

Затем добавьте Grunt и grunt-contrib-watch в свой проект:

npm install --save-dev  grunt grunt-contrib-watch

2. Настройка Grunt

Затем создайте Gruntfile.js в той же папке. Здесь моя:

  'use strict';
  module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.initConfig({
      watch: {
        views: {
          files: [
              'Views/**/*.cshtml', 
              'Scripts/**/*.js',
              'Content/**/*.css',
              'Content/images/**/*',            
              'bin/**/*.dll'
          ],
          options: {
            livereload: true,
          }
        }
      }
    });
  }

3. Запустить сервер перезагрузки

Запустите сервер прямой загрузки вместе с приложением ASP.NET:

grunt watch

4. Добавить фрагмент в ASP.NET

Наконец, чтобы включить его в вашем приложении ASP.NET, просто добавьте фрагмент live-reload в свои макеты и/или просмотры:

<script src="http://localhost:35729/livereload.js"></script>

Ответ 2

Я встретил этот генератор для mvc: https://github.com/has606/generator-aspnetmvc Возможно, вы могли бы сделать что-то вроде файла grunt в проекте:

livereload: {
    options: {livereload: 32684},
    files: [
      '<%%= yeoman.app %>/Content/**/*.css',
      '<%%= yeoman.app %>/Scripts/**/*',
      '<%%= yeoman.app %>/Content/images/**/*',
      '<%%= yeoman.app %>/Views/**/*.cshtml',
      '<%%= yeoman.app %>/bin/**/*.dll'
    ]
  }

Таким образом, любые изменения в представлениях или компиляции перезагружают сайт