-
Notifications
You must be signed in to change notification settings - Fork 4
11.Minifizzazione
jimilucio edited this page Nov 26, 2014
·
1 revision
Il primo passaggio di questa esercitazione è quello di creare il file package.json.
basta lanciare il comando npm init
per crearne una versione base.
Lanciando questo comando da command line il prompt farà una serie di domande, alla fine della quale il file sarà generato.
In questo passaggio installeremo i seguenti pacchetti per minifizzare tutti gli elementi che ci interessano.
npm install grunt --save-dev
npm install grunt-contrib-uglify --save-dev
npm install nodejs-websocket --save-dev
npm install requirejs --save-dev
npm install grunt-contrib-cssmin --save-dev
npm install grunt-contrib-imagemin --save-dev
npm install grunt-contrib-jshint --save-dev
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
common: {
src: ['js/loadLibrary.js', 'js/plugins.js', 'js/common.js'],
dest: 'js/build/common.min.js'
},
contact: {
src: ['js/model/ContactModel.js', 'js/view/ContactView.js', 'js/controller/ContactController.js'],
dest: 'js/build/contact.min.js'
},
company: {
src: ['js/view/CompanyView.js', 'js/controller/CompanyController.js'],
dest: 'js/build/company.min.js'
},
helpdesk: {
src: ['js/model/HelpDeskModel.js', 'js/view/HelpDeskView.js', 'js/controller/HelpDeskController.js'],
dest: 'js/build/helpdesk.min.js'
}
},
jshint: {
all: [
'Gruntfile.js',
'js/main.js',
'js/common.js',
'js/loadLibrary.js',
'js/plugins.js'
],
test: {
options: {
jshintrc: '.jshintrc'
},
src: ['test/spec/{,*/}*.js']
}
},
cssmin: {
combine: {
files: {
'css/output.css': ['css/normalize.css', 'css/main.css', 'css/style.css']
}
}
},
imagemin: { // Task
dynamic: { // Another target
files: [{
expand: true, // Enable dynamic expansion
cwd: 'img/', // Src matches are relative to this path
src: ['**/*.{png,jpg,gif}'], // Actual patterns to match
dest: 'img/build' // Destination path prefix
}]
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Default task(s).
grunt.registerTask('default', ['jshint','uglify','cssmin','imagemin']);
};
Basta questo comando dalla rootpath del nostro progetto per avviare i processi di controllo e minifizzazione.
# grunt -v
Per ignorare gli errori evidenziati all'interno del nostro codice javascript possiamo aggiungere al comando precedente il parametro --force
# grunt -v --force