初探grunt.js

來源:互聯網
上載者:User

標籤:

package.js

{  "name": "ttd_v3",  "version": "0.1.0",  "author": "liujin",  "devDependencies": {    "connect-livereload": "^0.5.2",    "grunt": "~0.4.2",    "grunt-contrib-concat": "~0.3.0",    "grunt-contrib-connect": "^0.7.1",    "grunt-contrib-cssmin": "^0.11.0",    "grunt-contrib-jshint": "~0.6.0",    "grunt-contrib-sass": "~0.3.0",    "grunt-contrib-uglify": "~0.3.2",    "grunt-contrib-watch": "^0.6.1",    "grunt-css": "~0.5.4",    "grunt-sass": "0.6.1"  }}

gruntfile.js

module.exports = function(grunt) {     // LiveReload的預設連接埠號碼,你也可以改成你想要的連接埠號碼    var lrPort = 35729;    // 使用connect-livereload模組,產生一個與LiveReload指令碼    // <script src="http://127.0.0.1:35729/livereload.js?snipver=1" type="text/javascript"></script>    var lrSnippet = require(‘connect-livereload‘)({ port: lrPort });    // 使用 middleware(中介軟體),就必須關閉 LiveReload 的瀏覽器外掛程式    var lrMiddleware = function(connect, options) {        return [            // 把指令碼,注入到靜態檔案中            lrSnippet,            // 靜態檔案伺服器的路徑            connect.static(options.base),            // 啟用瀏覽目錄(相當於IIS中的瀏覽目錄)            connect.directory(options.base)        ];    };     // 項目配置(任務配置)    grunt.initConfig({        // 讀取我們的項目配置並儲存到pkg屬性中        pkg: grunt.file.readJSON(‘package.json‘),        // 通過connect任務,建立一個靜態伺服器        connect: {            options: {                // 伺服器連接埠號碼                port: 8000,                // 伺服器位址(可以使用主機名稱localhost,也能使用IP)                hostname: ‘localhost‘,                // 實體路徑(預設為. 即根目錄) 註:使用‘.‘或‘..‘為路徑的時,可能會返回403 Forbidden. 此時將該值改為相對路徑 如:/grunt/reloard。                base: ‘.‘            },            livereload: {                options: {                    // 通過LiveReload指令碼,讓頁面重新載入。                    middleware: lrMiddleware                }            }        },        // 通過watch任務,來監聽檔案是否有更改        watch: {            client: {                // 我們不需要配置額外的任務,watch任務已經內建LiveReload瀏覽器重新整理的程式碼片段。                options: {                    livereload: lrPort                },                // ‘**‘ 表示包含所有的子目錄                // ‘*‘ 表示包含所有的檔案                files: [‘html/*.html‘, ‘css/*.css‘, ‘js/*.js‘, ‘images/**/*‘]            },            sass: {                files: [‘sass/*.{scss,sass}‘,‘sass/*.{scss,sass}‘],                tasks: [‘sass:dist‘]            }        },        concat : {            webqq : {                files : {                     ‘dist/js/test.js‘ : [‘js/a.js‘,‘js/b.js‘]                }            }         },         uglify : {             options: {                banner: ‘/** \n * <%= pkg.name %> \n * author:<%= pkg.author %> \n * update:<%= new Date() %> \n**/\n‘            },            webqq : {                files : {                     ‘dist/js/test.min.js‘ : [‘dist/js/test.js‘]                }            }        },        cssmin: {            options: {                    banner: ‘/** \n * <%= pkg.name %> \n * author:<%= pkg.author %> \n * update:<%= new Date() %> \n**/‘            },            cssmini: {                files: {                  ‘dist/css/test.min.css‘: [‘css/test.css‘]    // 壓縮 test.css檔案                }            }        },        sass: {          dist: {            files: {              ‘dist/css/test.css‘: ‘sass/test.scss‘            }          }        }    }); // grunt.initConfig配置完畢     // 監控html js css    grunt.loadNpmTasks(‘grunt-contrib-connect‘);    grunt.loadNpmTasks(‘grunt-contrib-watch‘);    grunt.registerTask(‘live‘, [‘connect‘, ‘watch‘,‘concat‘,‘uglify‘]);    //合并壓縮js    grunt.loadNpmTasks(‘grunt-contrib-concat‘);  //合并任務    grunt.loadNpmTasks(‘grunt-contrib-uglify‘);  //js壓縮    grunt.registerTask(‘jsmini‘, [‘cssmin‘]);    //壓縮css    grunt.loadNpmTasks(‘grunt-css‘);    grunt.registerTask(‘cssmini‘, [‘cssmin‘]);    //編譯sass    grunt.registerTask(‘sassmini‘, [‘sass:dist‘, ‘watch‘]);    grunt.loadNpmTasks(‘grunt-sass‘);    grunt.loadNpmTasks(‘grunt-contrib-watch‘);};

 

初探grunt.js

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.