赞
踩
目录
目录
4.exports 和 module.exports使用误区
fs.readFile()是node中内置的api可以通过require来直接引入,作用是用来读取指定文件
-
-
-
- fs.readFile('文件的路径',['文件的格式'],'回调函数')
-
-
-
- const fs = require('fs')
- fs.readFile('./file/1.txt', 'utf8', function(err, dataStr) {
- if (err) {
- return console.log('读取文件失败' + err.message);
- }
- console.log('读取文件成功' + dataStr);
- })
-
-
fs.writeFile()同样是node内置的api作用是用来写入指定的文件,现代风格啊手动阀
- fs.writeFile(file,data[,options],callback)
- fs.writeFile(文件位置,'写入文件内容'[,格式],回调函数)
-
-
-
- fs.writeFileconst fs=require('fs')
-
- fs.writeFile('./file/2.txt','shenyabo',function (err){
- if (err){
- return console.log('文件写入失败',err.message)
- }
- console.log('文件写入成功')
- })
fs.writeFile()方法只能用来创建文件,不能用来创建路径。
重复调用fs.writeFile()写入同一个文件,新写入的内容会被覆盖之前的旧内容。
path同样是node内置的api需要通过require引入
使用path.join()可以把多个路径片段拼接为完整的路径字符串,如果拼接的路径中出现../则会抵消其前面一个路径。其中的__dirname,指的是当前文件路径
- const path = require('path')
- const pathStr = path.join('/a', '/b', '../', './d')
- console.log(pathStr);
-
- const pathStr2 = path.join(__dirname, './file/1.txt')
- console.log(pathStr2);
作用是获取路径中最后一部分,经常使用这个方法获取文件中的文件名。
使用方法:
- path.basename(path,[,ext])
- path.basename(文件路径,[,文件后缀名])
使用举例:
- const fpath = '/a/b/c/index.html'
- const fullname = path.basename(fpath)
- console.log(fullname);
- const fullname2 = path.basename(fpath, '.html')
- console.log(fullname2);
作用是获取文件的拓展名
使用方法:
path.extname(path)
使用举例:
- const fpath = '/a/b/c/index.html'
- const wenjian = path.extname(fpath)
- console.log(wenjian);
http模块同样也是node中内置的api,通过require导入。
(只是基础了解使用,真正开发一般使用框架,这样开发更高效)
- //1.导入http模块
- const http = require('http')
- //2.创建web实例
- const server = http.createServer()
- //3.为服务器绑定request事件,监听客户端的请求
- server.on('request', function(req, res) {
- console.log('someone visie our web server');
- })
- //4.启动服务器,启动端口为8080
- server.listen(8080, function() {
- console.log('server running at http://127.0.0.1:8080');
- })
发送时需要将响应头设置返回格式为:
res.setHeader('Content-Type', 'text/html;charset=utf-8')
具体使用流程:
- //导入http
- const http = require('http')
- //创建web实例
- const server = http.createServer()
- //给服务器绑定request事件,监听客户端请求
- server.on('request', (req, res) => {
- const str = `客户的 url is ${req.url}请求方法 method is ${req.method}`
- res.setHeader('Content-Type', 'text/html;charset=utf-8')
- res.end(str)
- })
- //启动服务器
- server.listen(80, () => {
- console.log('server running at http://127.0.0.1');
- })
设置好响应头格式这样就可以解决中文乱码问题。
1.在自定的模块当中定义的变量,方法等成员,只能在当前的模块中被访问使用,无法在别的模块中使用
2.好处:避免的全局变量污染。
1.在我们创建的每个.js文件当中都存在一个module对象,在module中存储了和当前模块有关的信息。
1.在我们自定义的.js文件中module.exports默认是一个空的对象为:module.exports={}
当我们想要在别的文件中使用这个模块时候,通过require导入的其实是对应模块的module.exports对象。
2.默认情况下exports和module.exports指向的是同一个对象,最终的共享结果,还是以module.exports指向的对象为准。exports 可以理解为module.exports简写版。
1.使用require()模块时候,得到的永远都是module.exports指向的对象。
为了防止混乱,一般在使用时不要在同一个模块中使用 exports 和 module.exports两种同时使用。
1.创建文件时,文件名称不能用中文和含有空格,在空文件中首先执行npm init -y 创建package.json
npm init -y
当我们运行npm install命令时,npm包管理工具会自动把包的名称和版本号记录在package.json中。
在package.json中含有一个dependencies节点,专门用来记录您使用npm install 命令安装了那些包。
npm install
1.执行npm install 命令时,npm包管理工具会先读取package.json中的dependences节点,
2.读取到记录的所有依赖包名称和版本之后,npm包管理工具会把这些包一次性的下载到项目中。
npm uninstall 包名
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。