Как изменить конфигурационный файл grunt для работы с iss

Я использую шаблон, который пришел с ворчанием. он отлично работает, следит за изменениями, перекомпилирует и перезагружает страницу при сохранении. Я использовал его в отдельном проекте webapi, но cors доставлял мне проблемы, и я хотел бы объединить проекты. Я не хочу терять функцию livereload grunt. в настоящее время он связан с сервером узла. Я буду работать с iis express, поэтому мне нужно изменить файл конфигурации. Как мне это сделать? порт iss будет 28713

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

// Load grunt tasks automatically
require('load-grunt-tasks')(grunt);

// Show grunt task time
require('time-grunt')(grunt);

// Configurable paths for the app
var appConfig = {
    app: 'app',
    dist: 'dist'
};

// Grunt configuration
grunt.initConfig({

    // Project settings
    homer: appConfig,

    // The grunt server settings
    connect: {
        options: {
            port: 9000,
            hostname: 'localhost',
            livereload: 35729
        },
        livereload: {
            options: {
                open: true,
                middleware: function (connect) {
                    return [
                        connect.static('.tmp'),
                        connect().use(
                            '/bower_components',
                            connect.static('./bower_components')
                        ),
                        connect().use(
                            '/vendors',
                            connect.static('./vendors')
                        ),
                        connect.static(appConfig.app)
                    ];
                }
            }
        },
        dist: {
            options: {
                open: true,
                base: '<%= homer.dist %>'
            }
        }
    },
    // Compile less to css
    less: {
        development: {
            options: {
                compress: true,
                optimization: 2
            },
            files: {
                "app/styles/style.css": "app/less/style.less"
            }
        }
    },
    // Watch for changes in live edit
    watch: {
        styles: {
            files: ['app/less/**/*.less'],
            tasks: ['less', 'copy:styles'],
            options: {
                nospawn: true,
                livereload: '<%= connect.options.livereload %>'
            },
        },
        js: {
            files: [
                '<%= homer.app %>/scripts/{,*/}*.js',
                '<%= homer.app %>/js/{,*/}*.js'
            ],
            options: {
                livereload: '<%= connect.options.livereload %>'
            }
        },
        livereload: {
            options: {
                livereload: '<%= connect.options.livereload %>'
            },
            files: [
                '<%= homer.app %>/**/*.html',
                '.tmp/styles/{,*/}*.css',
                '<%= homer.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
            ]
        }
    },
    uglify: {
        options: {
            mangle: false
        }
    },
    // Clean dist folder
    clean: {
        dist: {
            files: [{
                dot: true,
                src: [
                    '.tmp',
                    '<%= homer.dist %>/{,*/}*',
                    '!<%= homer.dist %>/.git*'
                ]
            }]
        },
        server: '.tmp'
    },
    // Copies remaining files to places other tasks can use
    copy: {
        dist: {
            files: [
                {
                    expand: true,
                    dot: true,
                    cwd: '<%= homer.app %>',
                    dest: '<%= homer.dist %>',
                    src: [
                        '*.{ico,png,txt}',
                        '.htaccess',
                        '*.html',
                        'views/{,*/}*.html',
                        'styles/img/*.*',
                        'images/{,*/}*.*'
                    ]
                },
                {
                    expand: true,
                    dot: true,
                    cwd: 'bower_components/fontawesome',
                    src: ['fonts/*.*'],
                    dest: '<%= homer.dist %>'
                },
                {
                    expand: true,
                    dot: true,
                    cwd: 'bower_components/bootstrap',
                    src: ['fonts/*.*'],
                    dest: '<%= homer.dist %>'
                },
                {
                    expand: true,
                    dot: true,
                    cwd: 'app/fonts/pe-icon-7-stroke/',
                    src: ['fonts/*.*'],
                    dest: '<%= homer.dist %>'
                },
            ]
        },
        styles: {
            expand: true,
            cwd: '<%= homer.app %>/styles',
            dest: '.tmp/styles/',
            src: '{,*/}*.css'
        }
    },
    // Renames files for browser caching purposes
    filerev: {
        dist: {
            src: [
                '<%= homer.dist %>/js/{,*/}*.js',
                '<%= homer.dist %>/scripts/{,*/}*.js',
                '<%= homer.dist %>/styles/{,*/}*.css',
                '<%= homer.dist %>/styles/fonts/*'
            ]
        }
    },
    htmlmin: {
        dist: {
            options: {
                collapseWhitespace: true,
                conservativeCollapse: true,
                collapseBooleanAttributes: true,
                removeCommentsFromCDATA: true,
                removeOptionalTags: true
            },
            files: [{
                expand: true,
                cwd: '<%= homer.dist %>',
                src: ['*.html', 'views/{,*/}*.html'],
                dest: '<%= homer.dist %>'
            }]
        }
    },
    useminPrepare: {
        html: 'app/index.html',
        options: {
            dest: 'dist'
        }
    },
    usemin: {
        html: ['dist/index.html']
    }
});

grunt.registerTask('live', [
    'clean:server',
    'copy:styles',
    'connect:livereload',
    'watch'
]);

grunt.registerTask('server', [
    'build',
    'connect:dist:keepalive'
]);

grunt.registerTask('build', [
    'clean:dist',
    'less',
    'useminPrepare',
    'concat',
    'copy:dist',
    'cssmin',
    'uglify',
    'filerev',
    'usemin',
    'htmlmin'
  ]);

};

0 ответов

Другие вопросы по тегам