Node.js 与 npm 常用命令
本文用于总结 Node.js 与 npm 的一些常用命令,不定时更新……
npm命令
npm list -g --depth 0- 表示查看全局安装的包,–depth 0 参数代表只查找到 0 级安装包
-g:全局的安装包list:已安装的node包depth 0:可能是深度0 ,表示一级安装包
npm config- 管理 npm 的配置路径
- 例如
npm config set registry "http://registry.npm.taobao.org"
npm install- -S, –save: Package will appear in your dependencies.
- -D, –save-dev: Package will appear in your devDependencies.
- -O, –save-optional: Package will appear in your optionalDependencies.
npm info xxx- 列出某个
npm包的所有相关信息
- 列出某个
npm view react versions- 以
react为例,列出react包的所有可以使用的版本号
- 以
package.json命令"start": "set NODE_ENV=production&& npm run build && node babel/server",production后面不要留空格,否则 set 命令把空格带进环境变量里去 (windows环境)
nvm
- 临时设置nvm下载nodejs源:
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node - 永久修改nvm源:在
~/.bash_profile文件中加入上面的命令,然后source ~/.bash_profile
Restful
- url 地址中的动词用 http 请求方法的动词替代
- 采用 json 数据格式传递数据
Node.js命令
简单搭建服务器
- 创建服务器,得到 Server 实例对象
var server = http.createServer()
- 监听请求事件,设置请求处理函数
- Server 端的请求入口,所有的请求都会触发 request 请求事件
- 然后执行对应的请求处理函数
server.on('request', function (req, res) { handleCode }- 或者所有请求都先进入 router 中进行匹配分发处理处理函数
server.on('request', function (req, res) { router(req, res)})
- 绑定端口,启动服务器
server.listen(3000, function () {console.log('Server is running at port 3000...')})
- 创建服务器,得到 Server 实例对象
在 handleCode 中使用到 url 模块解析 url 路径
- url 模块中的 parse 方法可以将一个路径解析为一个对象
- 得到一个路径中的请求路径部分、查询字符串部分、端口号、协议等信息
- 通过指定第二个参数为 true,自动将解析到的 查询字符串解析为一个对象
- 通过指定第三个参数为 true,将
//foo/bar解析为{ host: 'foo', pathname: '/bar' },而不是解析为{ pathname: '//foo/bar' },默认为false
1
2
3
4
5
6
7var urlObj = url.parse(req.url, true)
// 拿到请求路径中的查询字符串对象
var queryObj = urlObj.query
// 只拿到请求路径中的路径部分(不包含查询字符串)
var pathname = urlObj.pathname
NODE_ENV 设置
cmd模式(Windows)
1
2
3
4
5set NODE_ENV = production
node app.js
// app.js
console.log(process.env.NODE_ENV)shell模式(Linux)
1
NODE_ENV = production node app.js
使用cross-env包
1
2npm i cross-env --save-dev
cross-env NODE_ENV=blablablapackage.json中script命令
1
2
3npm run xxx --production
// app.js
console.log(process.env.NODE_ENV) //production
npm 全局配置
1 | npm config set registry https://registry.npm.taobao.org |
yarn 全局配置
1 | yarn config set registry https://registry.npm.taobao.org -g |
npm 切换/设置 源
- 查看当前源:
npm get registry - 切换淘宝源:
npm config set registry https://registry.npm.taobao.org - 切换回自带源:
npm config set registry http://registry.npmjs.org
yarn 切换/设置 源
- 查看当前源:
yarn config get registry - 切换淘宝源:
yarn config set registry https://registry.npm.taobao.org - 切换回自带源:
yarn config set registry https://registry.yarnpkg.com