node.js的相关安装以及简单实用

Node.js之前已经安装过了,没有安装的需要安装一下;

一、Mysql安装 

mysql安装教程【安装版】_超级小的大西瓜的博客-CSDN博客_mysql安装教程

二、navicat(数据库管理工具)安装、

下载地址:Products | Navicat

选择 

黄色的或者绿色的(试用版本) 

三、node.js简单介绍(支持后端开发)

1.node.js是开源的、跨平台的js的运行环境。

2. node.js并不是新的语言,类似于浏览器,是提供js代码执行的环境,因此,在开发node.js项目的时候,依旧使用js这门编程语言(和浏览器中编写的一样);也就是说node.js是js的宿主环境,学习的重点关注环境提供给js在浏览器中的不同的能力

3.浏览器提供的对象是宿主对象(全局对象)(例如window对象),js语言中提供的原生对象就是内置对象,当js在内置对象找不到的时候会去全局去找。当我们宿主对象变换为node.js以后,宿主对象是global,不再是windows了;

4.global不同于window:

(1)没有Dom和Bom

(2)文件读写权限

(3)进程管理

(4)传统数据库的操作:Mysql、SQLServer、Oracle、MondoDb等数据库(不包括浏览器中集成的数据库),如果想要操作数据库需要安装第三方插件

四、Node.js模块化开发

1.模块化开发:当代项目都是以模块为基本单位,将各个模块组织在一起就是一个完整的项目,这种开发思想就是人们称之为的模块化开发;模块是一个具有功能的基本代码单元,就是代表能完成一个具体功能的代码。比如密码登录等;

2.具体怎么创建一个模块以及怎么使用是有规范的;

3.规范:在node.js中模块化规范遵循的是CommonJS规范

(1)一个文件就是一个规范,比如"password.js"(一个js文件),文件的名字就是的模块名字

(2)模块拥有独立的作用域,不同模块的数据不可以直接相互访问,为了防止不同模块之间标识符名称发生冲突(即重名覆盖问题);如果某个模块的数据或方法想给其他模块使用,此时可以通过以下方法对外暴露接口(数据或方法):

<1>每一个模块都内置一个module对象,module.exports该对象是用来暴露接口的,其他模块就可以获取到(怎么获取见下边)

<2>还有一种快捷方式,在模块中内置一个exports对象,他是module.exports对象的一个引用,有些时候使用它暴露接口更加方便。(但是并不常用)

(3)加载模块:如果想使用某个模块的数据,必须通过require()函数,将其他模块引入进来:

<1>require参数(类型为string)为要引入的模块的路径或是模块的名称;,当引入的模块为内置模块直接写名称,不需要写路径;当引入的模块是文件模块时,需要指定文件的路径部分,不需要加后缀名;

<2>require的返回值就是引用的模块通过module.exports暴露的对象;可以进行解构赋值;

4.使用node.js素质环境进行执行的方法:在cmd中切换到想要执行文件的文件夹目录下,然后输入node  文件名称.js进行运行

五、通过模块化开发制作一个密码强度的测验小程序

在一个文件夹下定义了两个js文件;在一个文件中定义模块代码如下,该模块实现通过正则表达式实现密码强度的反馈

const bigWord=/[A-Z]+/;
const numberWord=/\d+/;
const differentWord=/[!@$%^&*]+/;
const wordWord=/[a-zA-Z]+/;
function checkPassword(pass){
let count=1;
if(pass.length<6){
    return 0;
}
if( bigWord.test(pass))
{
count++;
}

if( differentWord.test(pass))
{
count++;
}
if( wordWord.test(pass)&& numberWord.test(pass))
{
count++;
}

return count;
}
module.exports={
checkPassword,
};

第二个文件通过引入上边的文件,并调用方法(解构赋值)

var {checkPassword}=require('./password');
var pass='Gaa';
console.log(checkPassword(pass));

执行代码:

六、加密内置模块(crypto)

1.密码加密一般选择MD5 不可逆加密

2. var newpassword=crypto.create.hash('md5').updata('123123').digest('hex');(32位)

解释:通过md5方式进行加密(对密码'123123'),返回的是2进制的数据再转换为16进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值