nodejs学习笔记-01

Node.js 基础1. Node开发概述1.1 为什么要学习服务器端开发基础能够和后端程序员更加紧密的配合网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax)扩宽知识视野,能够站在更高的角度审视整个项目1.2 服务器端开发要做的事情实现网站的业务逻辑数据的增删改查1.3 为什么选择Node使用JavaScript语法开发后端应用一些公司要求前端工程师掌握No...
摘要由CSDN通过智能技术生成

Node.js 基础

1. Node开发概述

1.1 为什么要学习服务器端开发基础
  • 能够和后端程序员更加紧密的配合
  • 网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax)
  • 扩宽知识视野,能够站在更高的角度审视整个项目
1.2 服务器端开发要做的事情
  • 实现网站的业务逻辑
  • 数据的增删改查
1.3 为什么选择Node
  • 使用JavaScript语法开发后端应用
  • 一些公司要求前端工程师掌握Node开发
  • 生态系统活跃,有大量开源库可以使用
  • 前端开发工具大多基于Node开发
1.4 Node是什么
  • Node是一个基于Chrome V8引擎的JavaScript代码运行环境

2. Node运行环境搭建

官网:https://nodejs.org/en/

  • LTS = Long Term Support 长期支持版 稳定版
  • Current 拥有最新特性 实验版

默认安装即可,安装地址可更改,例如D:nodejs/

在命令行中执行node -v,显示版本,就说明安装成功

3. Node.js快速入门

3.1 Node.js 的组成
  • JavaScript 由三部分组成,ECMAScriptDOMBOM。
  • Node.js是由ECMAScriptNode 环境提供的一些附加API组成的,包括文件、网络、路径等等一些更加强大的 API。
3.2 Node.js 基础语法
  • 所有ECMAScript语法在Node环境中都可以使用。
  • 在Node环境下执行代码,使用Node命令执行后缀为.js的文件即可

例如,在命令行中执行text.js文件 node text.js

  • 在命令行,首先进入到被执行文件所在目录
  • 使用 “node 文件名.js” 来执行文件
  • js文件名可输入部分,按tab键即可自动补全
  • 若想重复执行文件,可按键盘上的上键,即可执行上次执行的文件
  • clear命令可以清空命令行窗口
  • 文件所在文件夹,shift加鼠标右键,可打开命令行
3.3 Node.js全局对象global
  • 浏览器中全局对象是window,在Node中全局对象是global
  • Node中全局对象下有以下方法,可以在任何地方使用,global可以省略。
    • console.log() 在控制台中输出
    • setTimeout() 设置超时定时器
    • clearTimeout() 清除超时时定时器
    • setInterval() 设置间歇定时器
    • clearInterval() 清除间歇定时器

4. Node.js模块化开发

4.1 Node.js中模块化开发规范
  • Node.js规定一个JavaScript文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到
  • 模块内部可以使用exports对象进行成员导出,使用require方法导入其他模块。
4.2 模块成员的导入与导出
  • 第一步(导出):exports.自定义属性名(exports对象的属性名) = 上面定义好的(要导出的)
  • 第二步(导入):require(要接收的),返回值,是a模块中的exports对象
  • 导入模块时后缀可以省略,例如 require(./a)
// a.js
// 在模块内部定义变量
let version = 1.0;
// 在模块内部定义方法
const sayHi = name => `您好, ${
     name}`;
// 向模块外部导出数据 
exports.version = version;
exports.sayHi = sayHi;
// b.js
// 在b.js模块中导入模块a
let a = require('./b.js');
// 输出b模块中的version变量
console.log(a.version);
// 调用b模块中的sayHi方法 并输出其返回值
console.log(a.sayHi('黑马讲师')); 

第二种导出方法,module.exports对象

module.exports.version = version;
module.exports.sayHi = sayHi;

区别:

exports是module.exports的别名**(地址引用关系)**,导出对象最终以module.exports为准

const greeting = name => `hello ${
     name}`;
const x = 100;
exports.x = x;
module.exports.greeting = greeting;//此时两种方式指向同一个对象

// 当exports对象和moudle.exports对象指向的不是同一个对象时 以module.exports为准 此时exports指向无效
module.exports = {
   
	name: 'zhangsan'
}
exports = {
   
	age: 20
}
const a = require
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值