对于前段来说,熟悉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文件,配置代码如下

 /*js 压缩*/
module.exports = function (grunt) {
// 构建任务配置
grunt.initConfig({
//读取package.json的内容,形成个json数据
pkg: grunt.file.readJSON('package.json'),
//压缩js
uglify: {
//文件头部输出信息
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
my_target: {
files: [
{
expand: true,
//相对路径
cwd: 'js/',
src: '*.js',
dest: 'dest/js/',
rename: function (dest, src) {
var folder = src.substring(0, src.lastIndexOf('/'));
var filename = src.substring(src.lastIndexOf('/'), src.length);
// var filename=src;
filename = filename.substring(0, filename.lastIndexOf('.'));
var fileresult=dest + folder + filename + '.js';
grunt.log.writeln("现处理文件:"+src+" 处理后文件:"+fileresult);
return fileresult;
//return filename + '.min.js';
}
}
]
}
}
});
// 加载指定插件任务
grunt.loadNpmTasks('grunt-contrib-uglify');
// 默认执行的任务
grunt.registerTask('default', ['uglify']);
};

再配置一个package.json文件,代码如下

 {
"name": "cyjs",
"version": "0.1.0",
"description": "js for k68.org",
"homepage": "http://www.k68.org/",
"author": "firebaby",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.3.0",
"grunt-contrib-concat": "~0.1.1",
"grunt-contrib-uglify": "~0.1.2",
"grunt-contrib-cssmin": "~0.5.0",
"grunt-htmlhint": "~0.9.2"
}
}

有了这两个文件,我们只需要把要压缩的目标文件放入js文件里,然后node启动 grunt 命令node就会帮我们完成压缩了,如果报错记得查看是不是路径不对~

node.js grunt文件压缩的更多相关文章

  1. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  2. Node.js读取文件内容

    原文链接:http://blog.csdn.net/zk437092645/article/details/9231787 Node.js读取文件内容包括同步和异步两种方式. 1.同步读取,调用的是r ...

  3. 用node.js读写文件

    node.js没有二进制数据类型,却提供了类似字节数组的“流“数据类型,着一种数据类型在文件系统模块中频频出现 node.js打开文件 fs = require('fs'); console.log( ...

  4. C#Css/Js静态文件压缩--Yui.Compressor.Net

    一.Asp.Net 自带静态文件压缩工具包 Microsoft.AspNet.Web.Optimization http://www.nuget.org/packages/Microsoft.AspN ...

  5. electron node.js 实现文件拖动读取文件

    css/styles.css .for_file_drop { width: 100%; height: 100px; background-color: blueviolet; } index.ht ...

  6. node.js读写文件

    关于node.js的读写操作,应用场景有很多.比如其中这样的一个场景,如何获取全局的token.这就涉及到写和读操作了. 写操作: var fs = require("fs"); ...

  7. 又拍云 Node.js 实现文件上传、删除

    Node.js 服务端 使用 Node.js + Express.js 实现 服务端 const express = require("express"); const app = ...

  8. Node.js实战--资源压缩与zlib模块

    Blog:<NodeJS模块研究 - zlib> Github:https://github.com/dongyuanxin/blog nodejs 的 zlib 模块提供了资源压缩功能. ...

  9. Node.js读取文件相对路径写法注意

    首先看一下文件的存放结构: 我们现在希望在上面标记的JS文件里面读取html里面的内容,我们的代码如下: var fs=require("fs"); fs.readFile('te ...

随机推荐

  1. Hadoop---Google MapReduce(转)

    1. MapReduce是干啥的 因为没找到谷歌的示意图,所以我想借用一张Hadoop项目的结构图来说明下MapReduce所处的位置,如下图. Hadoop实际上就是谷歌三宝的开源实现,Hadoop ...

  2. 关于XML序列化与CultureInfo

    不同的计算机系统可能有着不同的CultureInfo,例如在中文环境下日期通常这样显示03/30/2016,而在有的操作系统下它可能是这样的30.3.2016. 这样的话带来一个问题,例如在中文环境下 ...

  3. host 文件

    艾玛,果然一个破的小问题也能纠结好久!不过终于过去了... 1. 机器上的host文件目录一般是  /etc/hosts 主要可能会涉及一些网站的安全访问,把网站加入hosts也就意味着 加入了白名单 ...

  4. 项目中遇到的关于兄弟controller之间传值的问题解决

    层级关系如下 <ons-page ng-controller="tabbarIndexController"> <ons-tabbar position=&quo ...

  5. angularjs自带过滤器

    filter: filter过滤器第一个参数若是对象: <ul> <li ng-repeat="friend in friends | filter:{'name':'Jo ...

  6. Java编程中的美好

    java程序员如何写出"优美"代码,动力节点告诉你怎么办: 1.注释尽可能全面 对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述:类的注释应该包含类的功能说 ...

  7. c# winform 动态画矩形 矩形大小可以拖动

    http://jhlong12345.blog.163.com/blog/static/1230631292015544450189/#  结合上一篇,继续 矩形大小的调整   还有小bug,思路有了 ...

  8. Maven总结

    项目管理构建工具:maven ant gradle == 项目管理利器(Maven)——maven介绍及环境搭建maven可以帮助我们更有效地管理项目,它也是一套强大的自动化构建工具,覆盖了编译.测试 ...

  9. mysql GET DIAGNOSTICS 语法

    MySQL 5.6 提供了 get diagnostic 语句来获取错误缓冲区的内容,然后把这些内容输出到不同范围域的变量里,以便我们后续灵活操作 语法如下: GET [CURRENT] DIAGNO ...

  10. Tomcat SSL的安装及配置中遇到问题

    配置tomcat服务器利用SSL进行加密. 一.生成密钥库 具体生成方式就不讲了,tomcat支持的keystore的格式有JKS,PKCS11和PKCS12 JKS是jdk /bin目录下keyto ...