当前博客:快码FOF中文编程-桌面端封装三方nodejs支持库教程

696 次浏览【转载需注明来源】

博客作者:【快码FOF编程】

个性签名:寒窗苦读十年一朝凤舞九天

有的时候我们需要一些支持库,而快码有可能并没有封装,所以有能力的小伙伴可以自己尝试封装node的库,nodejs的支持库非常简单。

文章拿postgresql支持库作为封装讲解。

1、首先在你的电脑中新建一个文件夹,取名叫做:postgresql

2、接下来使用终端进入这个新建的文件夹:

【windows中可打开文件夹,然后按住shift键+鼠标右键,然后点击"在此处打开Powershell或在此处打开xxx终端"不同的windows系统可能显示不一样】

【mac系统可以直接在文件夹图标右键,点击新建位于文件夹位置的终端标签页】

【linux系统可以直接打开终端窗口,然后输入cd 文件夹全路径】

 

3、接下来在终端输入nodejs支持库的下载命令,例如postgresql支持库的下载命令为:

npm install pg --save

注意:mac和linux需要加上sudo,例如:

sudo npm installpg --save

解释:所有的nodejs库都可以通过终端下载,终端下载命令一般提供支持库的文档商那里都有备注,大多数时候我们会选择前去:gitee或者github找支持库资料。

4、输入终端下载命令,然后回车之行下载

 

上述截图代表已经下载完毕,下载完毕后,可以在文件夹中文件如下的文件:

 

5、接下来新建一个快码的桌面端项目,如下图:

6、在上图中,创建了一个最基础的桌面端项目;并创建了名叫:我的支持库文件的ljs文件,然后接下来我们打开这个文件所在路径;并将上面第四步流程下载的node_modules文件夹拷贝到我的支持库文件.ljs文件所在的目录,如下图:

7、接下来我们可以改一改名称,可以把node_modules改成任意的名称,例如我改成了:“pgsql”

 

8、接下来在快码打开新建的js文件,并输入如下的代码:

//@导入环境_文件夹>[pgsql]

注意:上述的代码必须存在js文件的最顶部!pgsql就是下载的支持库文件路径。

同时要注意的是,上述代码的pgsql是相对路径,相对于项目文件的路径,例如你放在css文件夹,则路径应该是css/pgsql

9、接下来就可以编写你的支持库代码了,这里直接跟文心一言要了一段原生nodejs执行pg数据库的代码;大家可以复制到js文件试一试:

参考图片:

资料代码:

const pg = require('pg');  
  
// 创建客户端连接  
const client = new pg.Client({  
  host: 'localhost',     // 数据库服务器地址  
  port: 5432,            // 数据库端口  
  user: 'your_username', // 数据库用户名  
  password: 'your_password', // 数据库密码  
  database: 'your_database' // 数据库名  
});  
  
// 连接到数据库  
client.connect();  
  
// 执行查询  
client.query('SELECT * FROM your_table', (err, res) => {  
  if (err) {  
    console.error('查询出错:', err.stack);  
  } else {  
    console.log(res.rows); // 输出查询结果  
  }  
  
  // 关闭连接  
  client.end();  
});

根据上面的代码,我们来做一个改造,首先就是引用模块库:

const pg = require('pg');  

然后创建一个连接数据库的方法,把连接代码放在一个定义函数中封装成一个方法:

原始代码:

// 创建客户端连接  
const client = new pg.Client({  
  host: 'localhost',     // 数据库服务器地址  
  port: 5432,            // 数据库端口  
  user: 'your_username', // 数据库用户名  
  password: 'your_password', // 数据库密码  
  database: 'your_database' // 数据库名  
});  
  
// 连接到数据库  
client.connect();  

封装后代码:

定义函数 连接PG数据库(链接地址,链接端口,用户名,密码,数据库名) {
    // 创建客户端连接
    常量 client = 新建对象 pg.Client({
        host: 链接地址, // 数据库服务器地址
        port: 链接端口, // 数据库端口
        user: 用户名, // 数据库用户名
        password: 密码, // 数据库密码
        database: 数据库名 // 数据库名
    });
    // 连接到数据库
    client.connect();
}

这里值的注意的是,上面的代码部分关键字是快码一键翻译的。

同时注意:常量 client = 新建对象 pg.Client 这段代码返回了数据库对象,我们以后要做查询等功能,所以这个数据库对象肯定不能是局部变量,所以我们把它放在方法外面,并取名为:数据库对象【取名中文主要是方便好记】;并且由于常量是不能更改的,所以我们把申请改为局部变量。

具体代码如下:

//@导入环境_文件夹>[pgsql]
常量 pg = 导入模块("pg");
局部变量 数据库对象;
定义函数 连接PG数据库(链接地址,链接端口,用户名,密码,数据库名) {
    // 创建客户端连接
    数据库对象 = 新建对象 pg.Client({
        host: 链接地址, // 数据库服务器地址
        port: 链接端口, // 数据库端口
        user: 用户名, // 数据库用户名
        password: 密码, // 数据库密码
        database: 数据库名 // 数据库名
    });
    // 连接到数据库
    数据库对象.connect();
}

接下来就是操作数据库的代码了,原始代码如下:

// 执行查询  
client.query('SELECT * FROM your_table', (err, res) => {  
  if (err) {  
    console.error('查询出错:', err.stack);  
  } else {  
    console.log(res.rows); // 输出查询结果  
  }  
  
  // 关闭连接  
  client.end();  
});

包装后代码如下:

定义函数 执行数据库查询(SQL语句,查询返回) {
    // 执行查询
    数据库对象.query(SQL语句, (err, res) => {
        如果 (err) {
            //console.error("查询出错:", err.stack);
            查询返回({
                "状态":"错误",
                "原因":err
            })
        } 否则 {
            //调试输出(res.rows); // 输出查询结果
            查询返回({
                "状态":"成功",
                "原因":res.rows
            })
        }
        // 关闭连接
        数据库对象.end();
    });
}

我们来分析一下:

1、client肯定是数据库对象,所以我们把它换成数据库对象变量

2、SQl语句我们换成了方法的参数,方便直接操作参数

3、方法中的第二个参数我们做成回调类型,这样执行SQL的结果直接可以通过第二个参数的箭头符号返回。

 

最后我们还需要对代码做一个改动,因为上面的查询代码是查询后就关闭数据库,显然这不是我们所需要的;所以我们来增加一个关闭数据库的方法,并删除查询方法中的关闭命令:

定义函数 执行数据库查询(SQL语句,查询返回) {
    // 执行查询
    数据库对象.query(SQL语句, (err, res) => {
        如果 (err) {
            //console.error("查询出错:", err.stack);
            查询返回({
                "状态":"错误",
                "原因":err
            })
        } 否则 {
            //调试输出(res.rows); // 输出查询结果
            查询返回({
                "状态":"成功",
                "原因":res.rows
            })
        }
        
    });
}
定义函数 关闭PG数据库(){
    // 关闭连接
    数据库对象.end();
}

最终的完整代码就封装好了,代码如下:

//@导入环境_文件夹>[pgsql]
常量 pg = 导入模块("pg");
局部变量 数据库对象;
定义函数 连接PG数据库(链接地址, 链接端口, 用户名, 密码, 数据库名) {
    // 创建客户端连接
    数据库对象 = 新建对象 pg.Client({
        host: 链接地址, // 数据库服务器地址
        port: 链接端口, // 数据库端口
        user: 用户名, // 数据库用户名
        password: 密码, // 数据库密码
        database: 数据库名 // 数据库名
    });
    // 连接到数据库
    数据库对象.connect();
}
定义函数 执行数据库查询(SQL语句,查询返回) {
    // 执行查询
    数据库对象.query(SQL语句, (err, res) => {
        如果 (err) {
            //console.error("查询出错:", err.stack);
            查询返回({
                "状态":"错误",
                "原因":err
            })
        } 否则 {
            //调试输出(res.rows); // 输出查询结果
            查询返回({
                "状态":"成功",
                "原因":res.rows
            })
        }
        
    });
}
定义函数 关闭PG数据库(){
    // 关闭连接
    数据库对象.end();
}

下面是使用案例:

<按钮 点击回调="查询数据()">点击查询数据库</按钮>
<脚本>
    //这里执行相关的JS代码
    连接PG数据库("localhost", 5432, 'your_username', 'your_password', 'your_database')
    定义函数 查询数据(){
        执行数据库查询("select * from 表名",(查询数据)=>{
            调试输出(查询数据)
        })
    }
</脚本>

 执行到这里,博客也就结束了;同时给大家一个小技巧;封库时可以多多百度查资料,例如百度:nodejs操作postgresql之类的关键字;就可以找到很多的参考英文代码资料~

 

文章结尾附上文章等工程项目:

工程源码.zip

值得注意的是:nodejs的环境一般是多平台通用的,也就是你在windows下载了环境和编写代码,在linux和mac一样可以使用~

默认排序
Generic placeholder image
Generic placeholder image
快码FOF编程 Time: 2023-08-18 19:51:35

封装教程来了

Generic placeholder image
快码FOF编程 Time: 2023-09-11 18:03:00

附上一个同学根据博客所学习的知识所封装的库:参考案例


快码FOF中文编程-桌面端封装三方nodejs支持库教程