nodejs快速上手编写程序

module.export 和 exports 的区别

  • 根本上的区别:
    exports 返回的是模块函数
    module.exports 返回的是模块对象本身,返回的是一个类

  • 使用上的区别是:
    exports 的方法可以直接调用
    module.exports 需要 new 对象之后才可以调用

  • 改变指向:
    改变 module.export 的指向, exports 的指向会受到影响
    改变 exports 的指向, module.export 的指向不会影响

  • 关系:
    exports 是 module.exports 的一个引用,exports 指向的是 module.exports
    发现 console.log(exports === module.exports)返回的是 true,
    说明 exports 和 module.exports 是同一个对象

require 的加载是同步的

加载时没有指定后缀名,就按照如下顺序依次执行:

  1. .js
  2. .json
  3. .node(C/C++编写的模块)

main:app.js => index.js => index.json => index.node

<!—— require(’./a’) ——>
<!—— require(‘http’) lib node_modules ——>一层一次往上找,直到最后找不到就会报错

express

特点:
1、实现了路由功能
2、中间件(函数)功能
3、对 req,res 对象的扩展
4、可以集成其他模板引擎

在 node.js 上编写程序

REPL介绍

  1. REPL 全称: Read-Eval-Print-Loop(交互式解释器)
  • R 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。
  • E 执行 - 执行输入的数据结构
  • P 打印 - 输出结果
  • L 循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。
  1. 在REPL中编写程序 (类似于浏览器开发人员工具中的控制台功能)
  • 直接在控制台输入 node 命令进入 REPL 环境
  1. 按两次 Control + C 退出REPL界面 或者 输入 .exit 退出 REPL 界面
  • 按住 control 键不要放开, 然后按两下 c 键

创建 JavaScript 文件编写程序

JavaScript 文件名命名规则

  • 不要用中文
  • 不要包含空格
  • 不要出现node关键字
  • 建议以 ‘-’ 分割单词

案例

  1. 案例1:编写一个简单的函数, 实现数字相加
var n = 10;
var m = 100;

function add(x, y) {
   
  return x + y;
}

var result = add(m, n);

console.log('计算结果是:' + result);
  1. 案例:文件读写案例(带同学们打开官方文档查阅)
  • 使用到的模块var fs = require('fs');

  • 1、写文件:fs.writeFile(file, data[, options], callback);

    • 参数1:要写入的文件路径,必填
    • 参数2:要写入的数据,必填
    • 参数3:写入文件时的选项,比如:文件编码,选填。
    • 参数4:文件写入完毕后的回调函数,必填
    • 写文件注意:
      • 该操作采用异步执行
      • 如果文件已经存在则替换掉
      • 默认写入的文件编码为utf8
      • 回调函数有1个参数:err,表示在写入文件的操作过程中是否出错了。
        • 如果出错了err != null,否则 err === null
  • 2、读文件:fs.readFile(file[, options], callback)

    • 参数1:要读取的文件路径,必填
    • 参数2:读取文件时的选项,比如:文件编码。选填。
    • 参数3:文件读取完毕后的回调函数,必填
    • 读文件注意:
      • 该操作采用异步执行
      • 回调函数有两个参数,分别是err和data
      • 如果读取文件时没有指定编码,那么返回的将是原生的二进制数据;如果指定了编码,那么会根据指定的编码返回对应的字符串数据。
  • 注意:

    • 文件操作中的./表示当前路径,相对的是执行node命令的路径,而不是当前被执行的*.js文件的实际路径。
    • __dirname才永远表示当前被执行的*.js文件的实际路径
    • /表示根目录, 读取文件或写入文件的时候写/目录,在Windows下相当于当前磁盘根目录(比如:c:\ 或 d:\ 或 e:\ 等,在Mac下相当于硬盘根目录 /
// --------------------------------- 写文件 -----------------------------
// 加载文件操作模块
var fs = require('fs');

// 创建要写入的文件的字符串
var msg = '你好,世界!你好 Node.js.';
// 执行文件写入操作
fs.writeFile('./data.txt', msg, 'utf8', function (err) {
   
  console.log('---' + err + '----');
  // /判断是否写入文件出错了
  if (err) {
   
    console.log('文件写入出错了,详细错误信息:' + err);
    // 把错误继续向上抛出
    throw err;
  } else {
   
    console.log('文件写入成功!');
  }
});


// --------------------------------- 读文件 -----------------------------
// 加载文件操作模块
var fs = require('fs');

// 执行文件读取操作
fs.readFile('./data.txt', 'utf8', function (err, data) {
   
  // 输出err  和 data
  // console.log('error: ' + err);
  // console.log('data: ' + data);

  if (err) {
   
    console.log('文件读取出错啦!详细信息: ' + err);
  } else {
   
    console.log('文件读取成功,以下是文件内容:');
    console.log(data);
  }
});
  1. 案例4:创建目录案例
// 创建一个文件夹


// 加载文件操作模块
var fs = require('fs&#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上流星&洒下星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值