node开发基础
一、node开发概述
1.1、什么是node开发
Node是一个基于Chrome V8引擎的JavaScript代码运行环境。
注意:node是运行环境,不是一门编程语言哦!
1.2、node的优势
- 可以使用JavaScript语法开发后端应用;
- 前端开发工具大多基于Node开发 vue打包 react打包等;
- 一些公司要求前端工程师掌握Node开发;
- 生态系统活跃,有大量开源库可以使用。
1.3、node环境搭建(略)
具体的操作步骤可以参考这位大佬的node环境搭建教程
二、node.js入门基础
2.1、node.js的组成
我们知道,
而node.js的组成,
2.2、node.js搭建基本服务
//引入http模块
var http = require('http');
//搭建服务
var a = http.createServer(function(req,res){
//req请求 res响应
res.end('你是什么鬼');
})
//监听端口
a.listen('8080',function(){
//开启服务成功
console.log('成功了.....');
})
运行代码:
浏览器端:
三、node.js模块化开发
3.1、什么是模块化开发
试想一个问题,如果很多人同时开发同一个功能,由于每个人都是独立的做着同一件事,势必会产生一些无法抗拒的后果,比如变量命名冲突,代码混乱等。
而模块化就是把每一个功能独立做成一个模块,然后再使用 导入导出 的方式把他们关联在一起
3.2、模块化开发的好处
- 利于维护
- 准确定位
- 提高开发效率
3.3、模块的分类
- 内置模块 (node 自带的模块)
- 自定义模块 (自己写的)
- 第三方模块 (从网上下载的别人写好的模块)
注意:
node的应用是模块组成的,Node遵循commonjs的模块规范,用来隔离每个模块的作用域,使每一个模块在自身的命名空间中执行。
模块必须通过module.exports导出对外的变量或接口,
通过require()来导入其他模块的输出到当前模块作用域中。
3.4、CommonJS 规范
- CommonJS 导出
// 方法一
// 通过exports来向外部暴露变量和方法
exports.x = 'nnnnnn';
exports.y = 'mmmmmmm';
exports.aa = function(){
console.log(1111);
}
// 方法二
// 通过module.exports来向外部暴露变量和方法
module.exports = {
name:'zz',
age:16,
sex:'女',
fn:function(){}
}
- CommonJS 导入
//引入模块
//使用require()引入模块以后,该函数会返回引入的模块对象
var ad = require('./2.js');
console.log(ad.x);
console.log(ad.y);
console.log(ad.aa);
//引入模块
var ad = require('./2.js');
console.log(ad);
console.log(ad.name);
console.log(ad.age);
console.log(ad.sex);
四、内置模块fs文件操作
//引入内置模块fs,操作文件
var ff = require('fs');
//文件写入
ff.writeFile('biji.txt', '真的好舒服', function (err, data) {
// 文件路径 中间参数为写入内容
if (err) {
//出错,返回出错信息
console.log(err);
return;
}
console.log('文件写入成功!');
})
//文件读取
ff.readFile('biji.txt','utf-8',function(err,data){
if(err){
//出错,返回出错信息
console.log(err);
return;
}
console.log('文件读取成功!');
})