node的模块

node的模块化

const moduleA = require("./moduleA");

const moduleB = require("./moduleB");


// console.log(moduleA);
// // console.log(name);

// console.log(moduleA.age);
// moduleA.jump();

// moduleA.sayHi();

console.log(moduleB);
moduleB();

// nodejs每一个js文件都是一个独立的作用域
// 在这个作用内部写的一些变量或者方法  外部肯定不到
// 使用一个固定的语法来暴露出想要外界访问的接口
// 暴露的接口是固定的  module.exports = {}  里面暴露的是什么 外部就访问到什么

// 什么是面向对象? 
// 面向对象  的前提是首先得有一个对象
// 我们需要的数据和方法都设置到对象里面去 使用的对象的方式统一管理
// 在后续使用的时候  我们直接照这个对象就可以
// 对于对象来说 继承的方式就是prototype


// common.js  一套标准
// 只是在模块的使用上面会起作用  模块导入必须使用require  模块暴露接口 必须使用module.exports

模块的缓存

var module1 = require("./moduleA");
var module2 = require("./moduleA");

console.log(module1 === module2);  // true说明多次导入的情况下  在服务器内部是有缓存

缓存的好处 : 不用每次导入都重新导 避免浪费内存

抽取mysql模块并操作数据库

// 导入mysql模块
var mysql = require('mysql');

// 创建数据库连接对象 配置相关的信息
var connection = mysql.createConnection({
  host     : 'localhost',  //主机名
  user     : 'root', // 用户名
  password : 'root',  // 密码
  database : 'test'  // 数据库名
});
 

// 创建数据库连接  可以省略
// connection.connect();

// 修改数据
// connection.query('update students set name="王小二", score=100 where id=2', (error, results, fields) => {
//     if (error) throw error;
//     console.log(results);
//   });

  module.exports = (sql, callback) => {
    connection.query(sql, (error, results, fields) => {
        if (error) throw error;
        console.log(results);
        callback(results);
      });
  }

// 关闭数据库连接  可以省略  但是如果写的话 不可以直接写在最后 因为暴露出去的接口方法是异步的 不能先关闭数据库
// connection.end();



// 导入抽取的mysql模块
const query = require("./03-抽取mysql模块");
console.log(query);

query('update students set name="王小", score=100 where id=2', results => {
    console.log(results);
})

query('select * from students', results => {
    console.log(results);
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值