包含fs、path、http完整服务器实例
const http = require('http');
const fs = require('fs');
const path = require('path');
const server = http.createServer();
server.on('request',(req,res)=>{
const url = req.url;
const method = req.method;
// const fpath = path.join(__dirname,url);
let fpath='';
if(url === '/'){
fpath = path.join(__dirname,'./clock/index.html');
}else{
fpath = path.join(__dirname,'/clock',url);
}
fs.readFile(fpath,'utf-8',(err,dataStr)=>{
if(err) return res.end('404 not found');
res.end();
})
})
server.listen(80,()=>{
console.log()
})
模块化
模块作用域
变量、方法只能在当前模块内被访问,被称为模块级别的访问限制。
防止全局变量污染的问题。
向外共享模块作用域中的成员
1、module对象
存储了和当前模块有关的信息。
2、module.exports
可以使用此方法将模块内的成员共享出去。
//module.exports
//例
const m = require('./node-02')
console.log(m)
//打印的m中存储了require文件中exports 的方法。
//向exports对象上挂载方法和属性
let age = 20;
module.exports.age = age;
module.exports.username = 'zs';
module.exports.sayHello = function () {
}
//或
module.exports = {
}
require获取模块时,得到的是module.exports指向的对象。
npm与包
包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率
安装包
npm install 包完整名称
npm unintsall 包完整名称 //卸载包
例如,使用moment包
const moment = require('moment')
const dt = moment().format('YYYY-MM-DD HH:mm:ss')
console.log(dt)
包管理配置文件
npm规定在项目根目录中,必须提供一个叫做package.json的包管理配置文件。用力啊记录与项目有关的一些配置信息。
注意在项目开发中一定要把node_modules文件夹添加到.gitignore文件中
快速创建package.json
npm init -y
devDependencies节点
如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议吧这些包记录到devDependencies节点中。与之对应的,如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到dependencies节点中
npm install -D 包完整名称 //安装到devDependencies节点中
npm install -d 包完整名称 //安装到dependencies节点中
- 本文链接:https://archer-lan.github.io/2022/03/04/Node.js%E5%AD%A6%E4%B9%A0-03/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。