前文提要
主要学习链接:黑马程序员Node.js全套入门教程,nodejs新教程含es6模块化+npm+express+webpack
内部模块
使用require可以导入node.js中的内部模块,例如:fs、path、http等模块,例如这样
const fs=require('fs')
fs模块
导入方式
const fs=require('fs')
fs.readFile
读文件:
fs.readFile("文件路径","utf-8", function(err,dataStr){
//函数体
})
fs.writeFile
写文件:
fs.writeFile("文件路径","写入内容", function(err){
//函数体
})
path模块
导入方式
const path=require('path')
__dirname
使用相对路径会出现文件路径动态拼接时的错误,绝对路径可以避免这个问题,但是绝对路径的可移植性很差。
所以可以采用另一种方式:‘__dirname’,其表示当前文件存储在哪个目录下(绝对路径表示)
path.join
例如这样:
const path=__dirname+'./clock/1.html'
加号不能自己去除相对路径中的点号,所以有时候会出错,它只是单纯地拼接在了一起,但是如果使用path.join,写成这样:
const path=path.join(__dirname+'./clock/1.html')
http模块
导入方式
const http=require('http')
创建服务器实例
const server=http.creatServer()
绑定request事件
const server.on('request',function(req,res){
//函数体
//req是请求
//res是响应,通过res.end('内容'),可以向客户端发送响应
})
启动服务器
const server.lesten(8080,function(){
//函数体
//服务器会在'http://127.0.0.1:8080'处启动
//8080是端口号,如果写的是80则可以忽略
})
自定义模块和第三方模块
第三方模块是指外部下载下来的模块,例如使用npm下载的模块,可以通过和内部模块一样的方式调用。
自定义模块是指,用户自己写的js文件,需要通过指定文件路径来进行导入,例如:
导入方式
const test=require('./test.js')
模块作用域
这里设计到模块作用域的概念,如果直接导入其他的js文件且js文件不做处理,是没有办法访问js文件中的内容的。模块作用域限制本js文件中的变量和方法只能在这个文件(模块)中使用,这样有利于避免全局污染。
共享方式
但是可以通过’module.exports’向外共享模块内的变量和方法,共享到的东西以’module.exports’指向的对象为主。
也可以通过’exports’当’module.exports’使用,这两个指针指向同一对象,如果修改了exports指向,’module.exports’不变,则文件共享的内容不变,因为以’module.exports’为主;如果module.exports指向的对象变了,则文件共享的内容改变。
module.exports.name="zs"
module.exports.sayhello=function(){}
导入函数,则可以通过**导入模块名.sayhello()**调用函数
至此,结束。
原文地址:https://blog.csdn.net/Aer_7z/article/details/134781629
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_42160.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!