QUnit: A JavaScript Unit Testing framework.
jQuery 使用 QUnit 来做单元测试。QUnit 源于 jQuery,但早已经独立。
- QUnit 兼容性好,可以在所有浏览器上运行;通用的 JavaScript 代码都可以测试;
- QUnit 最新版本 v1.20.0,可从 jQuery,npm,GitHub 下载;
- QUnit 文档好,适合循序渐进深入学习。
package & module
-
npm
npm is the package manager for javascript. 前端开发可以了解一下。解决的是各个 js 库版本依赖和更新问题。npm 已经由原来的 Node.js' package manager 成功地转型为 package manager for javascript(javascript 包管理工具)。github npm 源码。 - Python
Python 有类似机制 virtualenv,virtualenv is a tool to create isolated Python environments.
- PyPI - the Python Package Index (virtualenv)
- PyPA - Python Packaging Authority (virtualenv)
- pip - The PyPA recommended tool for installing Python packages. Python 包安装工具; -
PHP
Composer:Dependency Manager for PHP;
Composer 中国镜像; -
Perl
CPAN:Comprehensive Perl Archive Network;
了解 JavaScript 库
-
jQuery
jQuery 属于 DOM (manipulation) oriented 一类。 - QUnit
QUnit 属于 Unit testing 一类。 - JS 框架(JS Framework)
具备 full stack capabilities and properties 的 JS 库(JS Library) 有时也称为框架。
Ext JS 是一个框架,2009 年在后台系统上尝试用过 3.0,当时性能跟不上。
jQuery 是应用最广泛的 JS Library,将 jQuery 称为 JS 库,我觉得能更好地体现其专业性优势。 - 根据业务需求选取合适的 JS Libraries
主流库,组合策略,灵活适用,轻量级,替换也方便,循序渐进,既要保持稳定有所积累,又要不断更新。至于 JS Framework,可以继续观察。
了解 jQuery
- 作为核心功能的 DOM 操作非常方便;
selector engine Sizzle 选得好。尽管使用 jQuery 操作 DOM 方便,开发人员自己还是要熟悉 MDN Web API 的。 - AJAX 支持做得非常好;
- 消除了跨浏览器不一致性问题;
- HTML 和 JS 代码的彻底分离;
- Lazy Load 缓加载;
了解 Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. npm 是 Node.js' package ecosystem。
版本
LTS 版本(4.x 版本):Recommended For Most Users,LTS: Long-term Support。
5.x 版本:Latest Features。Installing Node.js via package manager
Node's Current version (Mature and Dependable): v4.3.0
# 自动下载 4.x 最新 rpm:
# 首先 curl 下载 setup_4.x 脚本,然后执行该脚本,
# 该脚本自动分析当前系统状况,从 https://rpm.nodesource.com/pub_4.x 下载 rpm 文件;
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
# 使用 yum 安装 node 和 npm
yum install -y nodejs
yum 将 nodejs 安装在 /usr/bin 下(/usr/bin/node 命令),我更习惯安装在 /usr/local/bin 下。
查看 setup_4.x 脚本;
也可以 从 GitHub 下载 Node 源码 并编译。
- /usr/bin/npm
通过 npm install 下载安装各类包,还可以更新(update)和卸载(uninstall)。除了 npm 全局模式安装外,其他包默认以本地模式安装。 - /usr/bin/node
node *.js
运行 js 脚本
nodejs Windows 版本
- node 官网 下载二进制即可。
- 默认安装路径:C:\Program Files\nodejs\
- 安装:nodejs runtime(node.exe)、npm、documentation,设置路径;
关于 npm 讨论
mustache 模板
mustache 官网
npm-mustache
mustache.js in GitHub
了解 gulp
gulp-README.md in GitHub,gulp plugins,npm-keyword-gulpplugin,gulp-ignore
npm install gulp
npm install gulp-connect
npm install gulp-file-include
npm install gulp-uglify
node_modules/gulp/bin/gulp.js html css # 执行指定的两个 tasks:html 和 css,gulpfile 文件默认为当前目录下的 gulpfile.js。
gulp-file-include:a gulp plugin for file include;
gulp-uglify: Minify files with UglifyJS;
npm install
不带参数则依据当前目录下的 package.json 安装所有依赖模块;
npm rm --global gulp ;先卸载原来全局安装的 gulp,避免冲突;
npm install -g gulp-cli ;全局安装 gulp,--global | -g;
gulp --gulpfile=${gulpfile} <tasks>
执行指定 tasks。(gulp -h 查看帮助)
使用模板
- php 和 模板(访问时每次动态生成)
- node 和 模板(首次或强刷 + 局部数据刷新)
- gulp 和 模板(部署时一次生成),通过 nunjucks-with-gulp、introduction-gulp-js 了解原理。