NodeJS 从0开始

时间:2023-03-09 13:41:53
NodeJS 从0开始
查看Node 基本配置
$ npm config ls -l

$npm help install
将展开install的help文档

初始化目录 npm init 根据提示完成 将生成package.json

全局安装和本地安装
globally —- This drops modules in {prefix}/lib/node_modules, and puts executable files in {prefix}/bin {prefix} is usually something like /usr/local
locally —- This installs your package in the current working directory. Node modules go in ./node_modules, executables go in ./node_modules/.bin/,

npm install grunt # 本地安装
npm install -g grunt-cli # 全局安装
全局安装将安装到 /usr/local/lib/node_modules中
对于win则是 %APPDATA%\npm\node_modules PS要注意的是 win的路径和linux是相反的

PS设置Node的代理(在公司中很重要哦)
set HTTP_PROXY=http://proxy.xxxx.com:8080
之后再运行
npm install --save grunt
--save 参数,这个参数的作用,就是会在你安装依赖的同时,自动把这些依赖写入 package.json。命令执行完成之后,查看 package.json,会发现多了一个 dependencies 字段

PS 安装前要确保目录拥有权限 注意要加上sudo
sudo chmond -R 777 yourPath/

使用淘宝镜像
$ npm install xxx --registry=http://registry.npm.taobao.org
$ npm install xxx --save --registry=http://registry.npm.taobao.org
其中xxx是你想要安装的包

或者这样可以一直使用淘宝镜像  方案来自http://segmentfault.com/a/1190000000471219
npm install -g cnpm --registry=https://registry.npm.taobao.org
PS  --save 和 --save-dev区别
devDependencies are for the development-related scripts, e.g. unit testing, packaging scripts, documentation generation, etc.
dependencies are required for production use, and assumed required for dev as well.

安装好后 当前目录下会出现一个 node_modules 文件夹 里面就有你安装的express 等包
你的app.js 应该是放在和 node_modules同级目录下 而不是 express内(express中也有一个node_modules)

关于require的用法
var foo1 = require('./foo');
var foo2 = require('./foo.js'); //这两种都是引入文件 ./是不能省去的 否则和引入模块混淆
var foo3 = require('foo'); //这个是引入node_modules中的模块

exports 和 module.exports
exports.module = xxx; 给当前模块增加一个xxx属性
module.exports = xxx; 将xxx作为模块返回

require路径 http://nqdeng.github.io/7-days-nodejs/
总之require会先从/home/user/这样的全局目录中加载依赖 然后再是node_modules 下面找

debug  node-inspector

$ npm install -g node-inspector  --registry=http://registry.npm.taobao.org
$ node --debug app.js  //debug模式启动
之后会打开http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 这个页面 就可以debug了
自动更新node-dev 
npm install -g node-dev  --registry=http://registry.npm.taobao.org

然后原来运行node app.js 改为 node-dev --debug app.js 运行就可以,这样修改文件后就会自动更新了.

OR  nodemon也是相同的功能  还是用nodemon吧  star更多呢
远程调试
远程调试和普通调试一样  node可能是线上的服务器  不运行在本地
参考 http://blog.techbeta.me/2015/10/nodejs-debug/
在node的机器上安装node-inspector  
然后打开两个terminal都登陆到服务器  
node --debug app.js  (默认是5858这个port)
使用7000端口
node --debug=7000 app.js  
另一个则是

node-inspector --web-port=8082  (8082是监听端口)

之后会提示

Visit http://127.0.0.1:8082/?port=5858 to start debugging.

那么就访问 http://xxxxx:8082/?port=5858  就可以debug远程的node了   xxxxx就是你的主机名

使用了7000端口则是http://xxxxx:8082/?port=7000