【webstorm】nodejs实现JavaScript的数据库连接

1、安装

下载odejs:https://nodejs.org/en/

下载8.12.0 LTS版本

【webstorm】nodejs实现JavaScript的数据库连接

进行安装,安装位置:D:\Program Files\nodejs\

安装完成后,打开cmd,输入node -v和npm -v,会出现以下版本信息

【webstorm】nodejs实现JavaScript的数据库连接

 

2、环境配置

在安装目录nodejs下新建两个文件夹【node_global】和【node_cache】

【webstorm】nodejs实现JavaScript的数据库连接

打开cmd,输入npm config set prefix "D:\Program Files\nodejs\node_global"

npm config set cache "D:\Program Files\nodejs\node_cache"

进入环境变量设置,在系统变量下新建NODE_PATH,输入路径D:\Program Files\nodejs\node_global\node_modules

用户变量的PATH改为D:\Program Files\nodejs\node_global

 

3、测试

打开cmd,输入npm install express -g //g是全局变量的意思

安装好express后,输入node进入nodejs编辑模式,再输入require('express')弹出模块信息。

 

4、安装mssql

输入npm install mssql -g,查看是否安装成功,若不成功,则安装cnpm。

cnpm安装方法:npm install -g cnpm --registry=https://registry.npm.taobao.org

输入cnpm -v,报错

《---因为cnpm会被安装到D:\Program Files\nodejs\node_global下,而系统变量path并未包含该路径。在系统变量path下添加该路径即可正常使用cnpm。----》

添加后依然会报错:cnpm不是系统中的命令字符。(问题待解决)

若成功,但输入mssql报错:mssql不是系统命令字符,且用node编辑模式无法读取mssql模块内容,说明mssql并没有成功安装,则再次输入npm install mssql --save,出现warn警告

【webstorm】nodejs实现JavaScript的数据库连接

 

 

5、连接数据库

在项目test里新建一个包lib,里面存放数据库文件login

【webstorm】nodejs实现JavaScript的数据库连接

新建一个.js文件,输入代码

var sql=require('mssql');

//连接方式1:"mssql://用户名:密码@ip地址(无需端口号)/SqlServer名/数据库名称"
//连接方式2:"mssql://用户名:密码@ip地址:1433(默认端口号)/数据库名称"

sql.connect("mssql://sa:[email protected]/login").then(function(){
    new sql.Request().query('select *from dbo.login').then(function(recordset){
        console.log(recordset);
    }).catch(function(err){
        console.log(err);
    });
}).catch(function(err){
    console.log(err);
});

 

点击

【webstorm】nodejs实现JavaScript的数据库连接

点击一下OK,此时才出现绿色三角形符号。

 

点击三角形运行,报错,Error: Cannot find module 'mssql'

打开cmd,输入mssql,发现报错,“mssql不是系统命令符”,说明前面的mssql并没有成功安装。

再次输入以下命令:

【webstorm】nodejs实现JavaScript的数据库连接

 

此时输入npm install mssql -g进行安装,未出现报错

【webstorm】nodejs实现JavaScript的数据库连接

进入node编辑模式,输入require('mssql'),成功获取mssql模块信息。表明mssql安装成功。

 

发生error问题的原因

首先明确全局模块的默认安装位置:

【webstorm】nodejs实现JavaScript的数据库连接

接着查看全局模块的默认搜索路径:

【webstorm】nodejs实现JavaScript的数据库连接

发现两者并没有交集。

 

解决方法

添加环境变量 NODE_PATH ,指向 npm root -g 给出的路径。

【webstorm】nodejs实现JavaScript的数据库连接

 

调试

此时运行后发现报错端口1433无法找到,打开sql server 配置管理器,找到sqlserver服务,查看sqlserver(MSSQLSERVER)是否打开,若没有,则右键启动。

再次运行,成功连接数据库。

【webstorm】nodejs实现JavaScript的数据库连接