Как изменить конфигурационный файл 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'
]);
};