Home > Article > Web Front-end > grunt builds nodejs project
1. Foreword
With the popularity of Node.js, more and more web applications use it as the back-end server, and those complex front-end codes often need to be built and managed using Grunt. This article mainly introduces how to use Grunt to build a Node.js web application.
2. Introduction to Grunt
Grunt is a task runner written in JavaScript. It helps us automatically complete some fixed tasks, such as image compression, JS code compression and merging, LESS/ SCSS to CSS and so on. Grunt can greatly improve our work efficiency and allow us to focus more on writing business logic.
3. Grunt installation
Grunt depends on Node.js and npm, so please install them first. Enter the following command on the command line to install Grunt globally:
npm install -g grunt-cli
After the installation is completed, you can enter the following command to verify whether the installation is successful:
grunt --version
If the installation is successful, the current Grunt will be displayed. version number.
4. Gruntfile.js configuration
Create a file named Gruntfile.js in the project root directory, which defines what tasks Grunt needs to complete. The structure of a basic Gruntfile.js file is as follows:
module.exports = function(grunt) { // 任务 grunt.initConfig({ }); // 加载插件 grunt.loadNpmTasks(''); // 默认任务 grunt.registerTask('', []); };
The core of Grunt is the task. Each task will do something, such as copying, compressing and merging , preprocessing CSS, etc. In Gruntfile.js, we can define each task and the configuration options of the task through the grunt.initConfig() method.
For example, a task named copy_image is defined here. Its function is to copy the image files in the source directory to the dist directory:
grunt.initConfig({ copy: { dist: { files: [{ expand: true, cwd: 'source/image/', src: ['**/*'], dest: 'dist/image/' }] } } });
Grunt extends its functions by loading various functional plug-ins. For example, if we need the traditional uglify tool to compress JavaScript files, we need the corresponding plug-in.
grunt.loadNpmTasks('grunt-contrib-uglify');
Grunt can execute multiple tasks at the same time, then it will run them sequentially. The default task is the task that is executed when we enter the grunt command.
grunt.registerTask('default', ['copy', 'uglify']);
5. Commonly used Grunt plug-ins
For example, grunt-contrib-concat and grunt-contrib-uglify plugins are used here to merge and compress JavaScript code:
grunt.initConfig({ concat: { dist: { src: ['js/**/*.js'], dest: 'dist/js/script.js' } }, uglify: { dist: { src: 'dist/js/script.js', dest: 'dist/js/script.min.js' } } }); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.registerTask('default', ['concat', 'uglify']);
The task here is to merge with concat first All JS files are in one file, and then uglify is used to compress the JS code of the file.
6. Summary
Through the above introduction, I believe you have understood how to use Grunt to build and manage a Node.js web application. Keep trying and become an experienced web developer!
The above is the detailed content of grunt builds nodejs project. For more information, please follow other related articles on the PHP Chinese website!