2018-08-21nodejs

Nodejs学习笔记

一、 NodeJs介绍

  1. 什么是NodeJS,在应用程开发中起什么作用?

Nodejs是一个应用编程平台,能运行javascript语言编写的代码,提供了javascript运行环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

提供了大量应用编程接口API,在处理http网络、数据库、文件等操作时非常方便.[图片上传失败...(image-ef1d0e-1534834411521)]

  1. NodeJS开发环境安装

1> 官网下载地址 https://nodejs.org/en/download/

2> 检测是否安装成功

打开命令窗口:输入 node –v

>v8.11.3

出现如上提示表示安装成功

3> 环境配置

第一步:在nodejs安装目录下新建: ”node_global”及”node_cache”两个文件夹

[图片上传失败...(image-a24a5e-1534834411520)]

第二步: cmd 中输入如下命令

$ npm config set prefix “d:\nodejs\node_global”

$ npm config set cache “d:\nodejs\node_cache”

第三步:配置新建NODE_PATH环境变量

变量名:NODE_PATH

变量值:D:\nodejs\node_global\node_modules

  1. 第一个javascript程序

运行方式1:

命令行直接输入 node ,进入命令模式

输入相应javascript代码执行

退出:按两下ctrl+c

运行方式2:

将javascript代码封装成xx.js文件

命令行输入: node xx.js

二、 nodejs包管理工具 NPM

  1. 什么是npm?

  2. 检查npm是否安装 $ npm –v

  3. 设置npm服务器为淘宝镜像服务器

$ npm config set registry https://registry.npm.taobao.org

  1. npm包安装方式: 全局安装 和本地安装

npm install 包名

例:安装MySQL数据库包 npm install mysql -g

  1. cnpm 使用淘宝 NPM 镜像

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

$ cnpm install mysql –g

三、 nodejs数据库操作

  1. 实现连接mysql数据库查询数据

新建connectdb.js

|

var mysql = require('mysql'); //引用mysql数据库操作包

//根据指定参数创建数据库连接对象

var connection = mysql.createConnection({

host : 'localhost',

user : 'root',

password : '123',

database : 'db1803'

});

connection.connect(); //打开数据库连接

var findUserByNameSQL = "SELECT * FROM user WHERE username='admin'";

//执行sql语句

connection.query(findUserByNameSQL, function(error,results,fileds){

if (error) {

console.log("查询数据出错...");

throw error; //抛异常给系统处理

};

console.log("用户名"+ "\t"+"密码");

console.log(results[0].username+ "\t"+results[0].password);

});

connection.end(); //关闭数据库连接

|

执行js文件命令

$ node connectdb.js

输出结果:

用户名 密码

admin 123456

四、 nodejs模块系统

  1. 什么是模块?

为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。

模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。

  1. Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开接口对象(用于定义公开模块接口),require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。

[图片上传失败...(image-d88f74-1534834411518)]

Hello.js文件内容如下:

[图片上传失败...(image-167c9c-1534834411518)]

Main.js

[图片上传失败...(image-95c6c5-1534834411518)]

有时候我们只是想把一个对象封装到模块中,格式如下:

module.exports = function() {

// ...

}

模块接口的唯一变化是使用 module.exports = Hello 代替了exports.world = function(){}。 在外部引用该模块时,其接口对象就是要输出的 Hello 对象本身,而不是原先的 exports。

五、 在JavaScript中,一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。

六、 异步与同步

  1. 读取文件操作

|

var fs = require('fs');

fs.readFile("users.txt",function(error,data){

if(error){

console.log("读文件出错");

return;

}

console.log(data.toString());

});

你可能感兴趣的:(2018-08-21nodejs)