node.js grunt文件压缩
对于前段来说,熟悉node的人其实还并不是太多,如果您想入门一门后端语言我建议还是从node入手最好。
我也是最近开始学习node,来谈谈近期对node的学习的心得。
提到node首先就是要安装一大堆的运行环境安装插件等。网上教程有很多,这里不在多说了。
这里主要给大家分享一个非常实用的插件,grunt(下载链接),一般都是直接在node命令行下载
npm install grunt
安装好grunt还需要安装内置插件
grunt-contrib-uglify //js代码压缩
grunt-contrib-concat //代码合并
grunt-contrib-cssmin //css代码压缩
grunt-contrib-less //less代码转换成css
……官方网站有很多插件,可以根据需要进行安装,这里我们只介绍一个。
安装你需要的插件即可,这里我们安装grunt-contrib-uglify,可以进行代码的压缩;首先建立一个Gruntfile.js文件,配置代码如下
1 /*js 压缩*/ 2 module.exports = function (grunt) { 3 // 构建任务配置 4 grunt.initConfig({ 5 //读取package.json的内容,形成个json数据 6 pkg: grunt.file.readJSON('package.json'), 7 //压缩js 8 uglify: { 9 //文件头部输出信息 10 options: { 11 banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' 12 }, 13 my_target: { 14 files: [ 15 { 16 expand: true, 17 //相对路径 18 cwd: 'js/', 19 src: '*.js', 20 dest: 'dest/js/', 21 rename: function (dest, src) { 22 var folder = src.substring(0, src.lastIndexOf('/')); 23 var filename = src.substring(src.lastIndexOf('/'), src.length); 24 // var filename=src; 25 filename = filename.substring(0, filename.lastIndexOf('.')); 26 var fileresult=dest + folder + filename + '.js'; 27 grunt.log.writeln("现处理文件:"+src+" 处理后文件:"+fileresult); 28 return fileresult; 29 //return filename + '.min.js'; 30 } 31 } 32 ] 33 } 34 } 35 }); 36 // 加载指定插件任务 37 grunt.loadNpmTasks('grunt-contrib-uglify'); 38 // 默认执行的任务 39 grunt.registerTask('default', ['uglify']); 40 };
再配置一个package.json文件,代码如下
1 { 2 "name": "cyjs", 3 "version": "0.1.0", 4 "description": "js for k68.org", 5 "homepage": "http://www.k68.org/", 6 "author": "firebaby", 7 "devDependencies": { 8 "grunt": "~0.4.1", 9 "grunt-contrib-jshint": "~0.3.0", 10 "grunt-contrib-concat": "~0.1.1", 11 "grunt-contrib-uglify": "~0.1.2", 12 "grunt-contrib-cssmin": "~0.5.0", 13 "grunt-htmlhint": "~0.9.2" 14 } 15 }
有了这两个文件,我们只需要把要压缩的目标文件放入js文件里,然后node启动 grunt 命令node就会帮我们完成压缩了,如果报错记得查看是不是路径不对~