posts - 495,comments - 227,trackbacks - 0
          <2015年8月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(46)

          隨筆分類(476)

          隨筆檔案(495)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 1396785
          • 排名 - 16

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          node下使用grunt管理js文件項(xiàng)目

          1、使用npm init命令初始化包配置管理文件package.json
          2、添加插件npm插件
          npm install grunt --save-dev
          npm install grunt-cli --save-dev
          npm install grunt-babel --save-dev
          npm install grunt-contrib-concat --save-dev
          npm install grunt-contrib-jshint --save-dev
          npm install grunt-contrib-uglify --save-dev

          最后package.json配置文件如下所示

          {
            "name": "es6",
            "version": "1.0.0",
            "description": "",
            "main": "a.js",
            "dependencies": {
              "babel": "^5.8.21",//es6轉(zhuǎn)es5
              "webpack": "^1.10.5"http://網(wǎng)站開(kāi)發(fā)將多個(gè)js文件打包成一個(gè)js文件的工具,暫時(shí)沒(méi)有用到
            },
            "devDependencies": {
              "grunt": "^0.4.5",//js項(xiàng)目文件構(gòu)建工具
              "grunt-babel": "^5.0.1",//grunt集成babel,將es6轉(zhuǎn)成es5
              "grunt-cli": "^0.1.13",//客戶端命令行工具
              "grunt-contrib-concat": "^0.5.1",//將多個(gè)js文件合并成一個(gè)js文件工具
              "grunt-contrib-jshint": "^0.11.2",//驗(yàn)證js語(yǔ)法工具,不支持es6語(yǔ)法
              "grunt-contrib-uglify": "^0.9.1"http://將js壓縮工具
            },
            "scripts": {
              "test": "echo \"Error: no test specified\" && exit 1"
            },
            "author": "",
            "license": "ISC"
          }

          添加grunt配置文件gruntfile.js如下所示:

          module.exports = function(grunt) {  
            //配置參數(shù),grunt配置文件
            grunt.initConfig({  
               pkg: grunt.file.readJSON('package.json'),
               jshint: {
                   options:{
                       "curly": true,
                      "eqnull": true,
                      "eqeqeq": true,
                      "undef": false,
                       esnext: true
                   },
                   all: ['a.js','b.js']
               },
               babel: {
                   dist:{
                       'out/a.js':'a.js',
                       'out/b.js':'b.js'
                   }
               },
               concat: {  
                   options: {  
                       separator: ';',  
                       stripBanners: true  
                   },  
                   dist: {  
                       src: [  
                           "out/a.js",  
                           "out/b.js"
                       ],  
                       dest: "out/default.js"  
                   }  
               },  
               uglify: {  
                   options: {  
                   },  
                   dist: {  
                       files: {  
                           'out/default.min.js': 'out/default.js'  
                       }  
                   }  
               }
            });  
             
            //載入concat和uglify插件,分別對(duì)于合并和壓縮  
            grunt.loadNpmTasks('grunt-contrib-jshint');
            grunt.loadNpmTasks('grunt-babel');
            grunt.loadNpmTasks('grunt-contrib-concat');  
            grunt.loadNpmTasks('grunt-contrib-uglify');  
            /*
            grunt.loadNpmTasks('grunt-contrib-cssmin');  
             */
            //注冊(cè)任務(wù)  
            grunt.registerTask('default', ['babel','concat', 'uglify']);  
          }
          posted on 2015-08-07 11:47 SIMONE 閱讀(406) 評(píng)論(0)  編輯  收藏 所屬分類: nodejs
          主站蜘蛛池模板: 鄂托克前旗| 德化县| 齐河县| 岑溪市| 云浮市| 乐昌市| 象州县| 宁阳县| 刚察县| 平阴县| 且末县| 左云县| 莲花县| 广德县| 紫阳县| 紫云| 务川| 沙田区| 安西县| 久治县| 南丹县| 当阳市| 肥东县| 永定县| 巍山| 日喀则市| 白银市| 新营市| 县级市| 象山县| 教育| 博白县| 左权县| 稻城县| 克山县| 祥云县| 漾濞| 满洲里市| 高州市| 乃东县| 宜川县|