摘要:这篇在 webpack-demo 目前下新建一个 w2 目录,学习 webpack.config.js 及 与 npm scripts 的使用。 1、w2 下新建一个 webpack.config.js,内容如下 这是 w2 目录为 这时就可以直接在命令行执行 webpack 命令了,一些配置参数
阅读全文
摘要:1、安装前准备 安装 webpack 之前,需要安装 node,这时最新的是 6,npm 是 4。如果有老的 node 项目在跑建议安装下 nvm。 2、建议安装在局部,即在项目下的 node_modules 里 比如在 webpack_demo 目录下新建了一个 w1 项目,先用 npm init
阅读全文
摘要:nvm 是 windows 下切换 node 版本的管理工具,mac 下可以使用 TJ 写的 n 。 1、https://github.com/coreybutler/nvm-windows/releases,图示点击下载 2、点击安装,默认配置即可,win开始菜单会生成一个 3、命令行cmd进入,
阅读全文
摘要:学习node,弄一个命令行模块,发布到npm后,Windows安装后可以使用,但Mac 终端下则不行。对比grunt-cli搞了一夜,甚是郁闷,最后发现竟然是操作系统的换行符问题。npm install jdf -g 后,去安装目录 usr/local/lib/node_module/jdf/bin...
阅读全文
摘要:有时手贱看到新版本就升级,升级后发现一堆模块不能用了,心情好慢慢调,但也有调不好的时候,只能卸载重装低版本的node了。我的机器环境如下1. Mac OSX 10.10.32. node为0.12.2卸载过程1. 拷贝如下代码放到一个sh文件中(如uninstall_node.sh)#!/bin/b...
阅读全文
摘要:任务(Tasks)是grunt的核心概念,你所做的很多工作比如资源合并(concat)、压缩(uglify)都是在配置任务。每次grunt运行的时候,你指定的一个或多个任务也在运行,如果你没有指定任务,那么一个默认名为“default”的任务将自动运行。有时我们需要写一些自己的grunt任务,下面是一个具体例子一、准备1. 新建一个目录g12. 新建package.json,放入g13. 新建Gruntfile.js,放入g1package.json{ "name": "g1", "version": "0.1.0"
阅读全文
摘要:Node.js中模块可以通过文件路径或名字获取模块的引用。模块的引用会映射到一个js文件路径,除非它是一个Node内置模块。Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始的时候就预加载了。其它的如通过NPM安装的第三方模块(third-party modules)或本地...
阅读全文
摘要:前一篇讲述了如何使用concat和uglify命令实现JavaScript资源的合并,压缩。这篇讲述下css资源的合并和压缩。有如下步骤:新建项目Bejs新建文件package.json新建文件Gruntfile.js命令行执行grunt任务一、新建项目Bejs源码放在src下,该目录有两个子目录asset和js。js下放selector.js和ajax.js,这在上一篇已经讲了如何合并压缩它们。这篇只关注asset目录,asset目录下放了一些图片和css文件。一会会把两个css资源reset.css和style.css合并,压缩到dest/asset目录。一个合并版本all.css,一个压
阅读全文
摘要:使用node开发服务器端程序时,一个典型的问题就是每次修改js文件后都要重新发布一次。如下是server.jsvar http = require('http');var server = http.createServer(function(request, response) { var repsHeader = { "Content-Type": "text/html" }; response.writeHead(200, repsHeader); response.end('Hello,World.');});se
阅读全文
摘要:前一篇记录了Grunt的安装,这篇介绍下怎么使用Gruntjs来搭建一个前端项目,然后使用grunt合并,压缩JS文件。大概有如下步骤新建项目Bejs新建文件package.json新建文件Gruntfile.js命令行执行grunt任务一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会自动生成。二、新建package.jsonpackage.json放在根目录下,它包含了该项目的一些元信息,如项目名称、描述、版本号,依赖包等。它应该和源码一样被提交到svn或git。 现在的项目结构如下package.j
阅读全文
摘要:Gruntjs是JavaScript项目的构建工具,也是基于node的一个命令行工具。很多开源JS项目都是使用它搭建。如jQuery、Qunit、CanJS等。它有以下作用合并JS文件压缩JS文件单元测试(基于QUnit)一句话:完全自动化(automation)以下是它的安装过程。一、安装node...
阅读全文
摘要:r.js是RequireJS的一部分(optimizer)。它依赖于UglifyJS,而UglifyJS基于nodejs。r.js多数时候配合模块化(AMD)写法进行合并,压缩。如果你的代码不采用AMD方式,也可以用它来压缩。这篇讨论的是当不采用AMD方式组织代码时压缩整个项目的js文件。假设项目中所有的js文件都在scripts目录中项目中有css,html,scripts三个目录,分别对应css,html和js文件。下载的r.js与myapp平行放置。scripts-build目录放置压缩后的js文件,结构同scripts,但会多生成一个build.txt文件。build.js文件是需要我
阅读全文
摘要:在UglifyJS入门中主要记录了UglifyJS的安装,配置。篇末在命令行中使用了一个简单命令来压缩一个JS文件。这篇以编程的方式去压缩JS文件。即写一个build.js文件,使用node命令执行该文件。build.js中的代码会去调用UglifyJS的接口函数以执行压缩任务。1,去github下载最新的UglifyJS。两种方式下载,如果安装了git,进入git控制台使用如下命令git clone git://github.com/mishoo/UglifyJS.git或者使用http方式下载,点击zip下载。解压后其目录结构如下2,新建一个项目(文件夹)myApp,将uglify-js.
阅读全文
摘要:前面提到了Node.js的命令行和Web版之“Hello,World”。命令行是直接执行hello.js文件,Web版的需要require http模块。http模块是NodeJS自身提供的。我们知道每个模块对应一个js文件,这篇写一个最简单的模块hello.js, 然后在另一个js文件(main.js)中require自定义的模块。hello.jsfunction hello(name) { console.log('hello, '+ name);}exports.hello = hello;main.jsvar h = require('./hello')
阅读全文
摘要:首先,去http://nodejs.org 下载安装。我下的版本是0.8.14。安装很简单,下一步下一步就哦了。我的安装目录是C:\Program Files (x86)\nodejs。这时使用node -v 命令查看下安装的版本一、helloworld在Node.js安装目录中新建一个文件hello.js,里面敲一行代码console.log('hello, nodejs.') ;进入命令行控制台,进入到Node.js目录敲node hello.js控制台输出了“hello, nodejs.”二、web版的helloworld在Node.js安装目录中新建一个http.js,
阅读全文
摘要:需要先安装node,进入命令行,查看node,npm是否正确安装。接下来安装UglifyJS,命令如:npm install uglify-js -g最后别忘了把node和npm添加到环境变量中,我的分别是C:\Program Files (x86)\nodejs\;C:\Users\taozhou\AppData\Roaming\npm;现在就可以使用uglifyjs就行压缩了,如uglifyjs folder/dom.js -> folder/dom-min.js会把目录folder下dom.js压缩,保存在同一个目录下。详细参数参考: https://github.com/mish
阅读全文