关于 node
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. npm 是 Node.js' package ecosystem。Node.js 通常简称为 node。关于 npm
npm is the package manager for javascript. 前端开发可以了解一下。解决的是各个 js 库版本依赖和更新问题。npm 已经由原来的 Node.js' package manager 成功地转型为 package manager for javascript(javascript 包管理工具)。npm 在 github。npm help 或者 npm help <term> 会给你提供更多的便捷帮助
node 的安装
版本
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 <some.js>
运行 js 脚本
nodejs Windows 版本
- node 官网 下载二进制即可。
- 默认安装路径:C:\Program Files\nodejs\
- 安装:nodejs runtime(node.exe)、npm、documentation,设置路径;
npm 的安装和升级
- npm 一般随着 node 安装 就自动安装了。我们使用的是 2.x 版本,当前最新 2.15.2。源码在 GitHub。
-
Updating npm
sudo npm install -g npm@2.15.2 - npm 命令解释:CLI Commands;
关于 npm 讨论
- js 包管理器的比较
- npm blog
- npm help <command>
-
npm install 命令
npm 安装一个 <package> 的成功标识,就是会在 node_modules 下有一个 <package> 目录。安装可能不成功。what is a package?
npm install --verbose
,--verbose 可以帮助你查看安装过程中可能出现的问题; - npm and front-end packaging(伯乐在线中文译本 NPM 与前端包管理)
package.json
- npm: Using a package.json
npm help json
mustache 模板
mustache 官网
npm-mustache
mustache.js in GitHub
使用模板
- php 和 模板(访问时每次动态生成)
- node 和 模板(首次或强刷 + 局部数据刷新)
- gulp 和 模板(部署时一次生成),通过 nunjucks-with-gulp、introduction-gulp-js 了解原理。
- complete-guide-reducing-page-weight
npm 错误
- package 安装不完整有时出现如下问题
比如,可能由于网络问题导致 del 安装不完整;uninstall 后再重新 install 即可,或者直接删除 node_modules 目录重新安装。
$ gulp html
module.js:327
throw err;
^
Error: Cannot find module 'array-union'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (E:\wph\web\node_modules\del\node_modules\globby\index .js:3:18)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)