A further exploration of Butterfly.js-grunt.js (I.)

Source: Internet
Author: User

A further exploration of Butterfly.js-grunt.js (I.)Artifact Grunt.js

grunt.jsI have always been the first to learn the grunt.js famous name todo List . Take advantage of the advent of the Spring Festival (soy sauce day), to fill out this pit, finished this wish.

grunt.jsPowerful, powerful in that it has a lot of useful plug-ins, and the linkage between different plug-ins to achieve a more powerful function.

Here the default is that everyone has installed npm npm install and will use the instructions, not detailed. The following is the use grunt-contrib-watch and implementation of the grunt-contrib-connect change code to automatically refresh the browser, instead of manually press F5 or ctrl+R to refresh the browser. will also apply this cool test function to butterfly.js the application development.

Grunt-contrib-watch

Grunt-contrib-watch, this plug-in super powerful, basically, I see grunt.js the application development, no one does not need to grunt-contrib-watch . The function is: to monitor the changes of the specified file include: html、css、js when the specified file has changed (after saving), it will be triggered task .

Grunt-contrib-connect

Grunt-contrib-connect, above the document, it defines itself as one connect web server , so this is a plugin that can create a server.

Positive

Create a catalog of our projects:

myproject  ┣app    ┣butterfly    ┗main      ┣theme.css      ┣index.html      ┗index.js  ┣package.json  ┗Gruntfile.js

package.jsoncan be used npm init to create or create a file yourself. This belongs npm to the foundation, does not understand oneself wall. Execute the following code at the command line:

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

Above --save-dev is two root -- , do not know why was swallowed a root, these three lines of code, respectively installed grunt , grunt-contrib-connect , grunt-contrib-watch .

Edit Gruntfile.js , this file is Grunt.js the core, all the Grunt.js tasks performed here are controlled here, Grunt.js the original state should be this:

module.exports = function(grunt){    pkg: grunt.file.readJSON(‘package.json‘),    grunt.initConfig({        //...    });}

Set up the connect module first:

connect: {    options: {        port: 9000,        hostname: ‘localhost‘,        livereload: 35729    },    server: {        options: {            open: {target:‘http://localhost:9000/main/index.html‘},            base: [‘app‘]        }    }}

To set up the watch module again:

watch: {    livereload: {        options: {            livereload: true        },        files: [‘app/main/index.html‘,‘app/main/theme.css‘, ‘app/main/index.js‘]    }}

Last settask

  module.exports = function (grunt) {Pkg:grunt.file.readJSON (' Package.json '), Grunt.initconfig ({con Nect: {options: {port:9000, hostname: ' localhost ', livereload: 35729}, Server: {options: {open: {target: ' http://localhost:9000 /main/index.html '}, Base: [' App '}}}, watch: {li Vereload: {options: {livereload:true}, files: [' App/ma    In/index.html ', ' app/main/theme.css ', ' app/main/index.js ']//monitoring file List}});    Grunt.loadnpmtasks (' Grunt-contrib-connect ');    Grunt.loadnpmtasks (' Grunt-contrib-watch '); Grunt.registertask (' Default ', [' connect:server ', ' Watch '])}  

After editing is complete, at the command line input grunt , grunt.js by grunt-contrib-connect Creating a server localhost:9000 (domain name and port in the options settings), after executing the command, you will find that the browser opens automatically http://localhost:9000/main/index.html . If there is no error, even if it is done. You can change index.html theme.css it, or index.js . very good. We've liberated the F5 button.

In fact, this is just grunt.js a small function, grunt.js strong, here first dig a pit, follow-up and you share grunt.js the other modules and more detailed Gruntfile.js configuration

A further exploration of Butterfly.js-grunt.js (I.)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.