node.js的基本理解

  • Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境

  • Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效

    • 事件驱动: 任务执行,发布者,订阅者,事件驱动 ( on emit )
    • 非阻塞: 执行某一个任务的同时也可以执行其他任务
    • 阻塞: 执行某一个任务,这个任务如果没有执行完成,其他任务必须等待
      • 同步:
      • 异步
    • I/O: 输入/输出( 数据库操作,文件系统操作等 )
      • 非阻塞I/O模型: 当我们使用Node.js来实现数据库操作、文件系统等操作时,要进行的异步操作,异步操作的核心传统实现方式就是回调函数
  • Node.js的包管理工具npm,是全球最大的开源库生态系统

    • 第三方: 国外的

    • 建议: 切换国内的, 淘宝国内镜像源

      • nrm

      • 安装cnpm

        $ npm install -g cnpm --registry=https://registry.npm.taobao.org

        查看是否cnpm安装成功

        cnpm -v

  • 官网 http://nodejs.cn/

  • npm 插件官网:https://www.npmjs.com/

相关版本
  • node版本常识
    • 偶数版本为稳定版 (0.6.x ,0.8.x ,0.10.x)
    • 奇数版本为非稳定版(0.7.x ,0.9.x ,0.11.x)
    • Node.js实时监听( 自动刷新 )

借助第三方工具实现:

​ nodemon 【 推荐

​ cnpm i nodemon -g

​ nodemon 文件名称

​ supervisor

​ cnpm i supervisor -g

​ supervisor 文件名称

##模块,包 commonjs

commonjs规范

前端模块化:AMD,CMD,Commonjs

Node 应用由模块组成,采用 CommonJS 模块规范。

定义module

每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。

暴露接口

CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。

 	var x = 5;
	var addX = function (value) {
	  return value + x;
	};
	module.exports.x = x;
	module.exports.addX = addX;
引用

require方法用于加载模块。

 	var example = require('./example.js');
	console.log(example.x); // 5
	console.log(example.addX(1)); // 6

模块的分类

  • 内置模块
	const process = require('process')
	const path = require('path')
	console.log(process.version)
	console.log(path.resolve('../'))
  • 第三方模块
    const request=require("request");
	console.log(request)
	request.get('http://api.douban.com/v2/movie/in_theaters', (err, response, body) => {
	  if (!err) {
	    // console.log(body);
	    console.log(JSON.parse(body))
	  } else {
	    console.log(err);
	  }
	})
  • 自定义模块

###npm 使用入门

官网:https://www.npmjs.com/

安装:无需安装

查看当前版本:

 $ npm -v

更新:

 $ npm install npm@latest -g

初始化工程

 $ npm init

 $ npm init --yes 默认配置

安装包

使用npm install会读取package.json文件来安装模块。安装的模块分为两类
dependencies和devDependencies,分别对应生产环境需要的安装包和开发环境需要的安装包。

 $ npm install

 $ npm install <package_name> 

 $ npm install <package_name> --save

 $ npm install <package_name> --save-dev

更新模块

 $ npm update

卸载模块

 $ npm uninstall <package_name>

 $ npm uninstall --save lodash

配置npm源

  • 临时使用, 安装包的时候通过–registry参数即可

    $ npm install express --registry https://registry.npm.taobao.org

  • 全局使用

      $ npm config set registry https://registry.npm.taobao.org
      // 配置后可通过下面方式来验证是否成功
      npm config get registry
      // 或
      npm info express
    
  • cnpm 使用

    	 // 安装cnpm
    	  npm install -g cnpm --registry=https://registry.npm.taobao.org
    
    	  // 使用cnpm安装包
    	  cnpm install express
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值