node学习总结--基础篇
node是什么:通俗来说就是个后端语言 和 服务器
常用全局对象:process、__dirname、__filename 、JSON...
1.process.env 环境变量
示例:console.log(process.env.path)就会打印出环境变量里的path
2.process.argv 启动时的参数
示例:在a.js中console.log(process.argv)
然后node ./a.js 12 13 a启动
则会输出一个数组包含12,13,a
3.__dirname 当前文件夹路径
示例:console.log(__dirname)
4.__filename 当前文件路径
示例:console.log(__filename)
5.JSON
示例1:JSON.pares()错误写法
示例2:JSON.pares()正确写法
示例3:JSON.stringify()
常用核心对象:path、fs、http 、querystring、url...
这些核心对象已经被封装在node.exe中,可以直接引入使用
引用方式:示例 const path = require('path')
一、path 用于操作路径相关
1.path.join() 拼接路径
示例:path.join(__dirname,'aaa','bbb')
2.path.resolve()相对路径转绝对路径
示例:let a = './aaa/bbb' console.log(path.resolve(a))
3.path.parse() 转换成路径对象
示例:如下
4.path.format() 把路径对象再转回字符串
如果需要重新设置属性可以设置base的值
示例:如下
二、fs用于操作文件
1.fs.readFile() 读文件
读出来data如果打印在控制台是16进制,但是不影响实际使用,如果需要在控制台显示实际内容可以调用toString()方法
示例:如下
2.fs.writeFile() 写文件
示例:如下
3.fs.appendFile() 追加内容
示例:如下
三、http用于启动http服务
示例:在9000端口启动一个http服务,启动成功后,在浏览器输入localhost:9000访问
补充1:例如res.setHead()和res.write()必须分别写在res.writeHead()和res.end()前面
补充2:http状态码含义
1开头--正在进行中 2开头--成功 3开头--重定向 4开头--客户端异常 5开头--服务器异常
四、querystring 用于请求解析参数
使用querystring .parse() 方法可以将参数字符串转为对象
五、url 用于解析请求
url和querystring有相似之处,但是url更加强大,可以直接将req.url转成对象,参数true还可以把对象的query也转成对象
url.parse()
其他对象:
要引用其他第三方的对象一般要使用npm先下载依赖,然后在使用require引用
例如:要使用jquery,可以先 npm i jquery -S 下载依赖,然后再在要引用jquery的js文件中,require('jquery')
补充1:require.resolve('jquery') 可以找出jquery的文件路径
之所以这样是因为其入口在node_modules/jquery/package.json中的main决定的
补充2:npm 操作补充
1.查看信息 npm info ***
示例:npm info jquery versions 会输出全部版本
2.如果想要下载某个版本的依赖 使用@版本号 npm i ***@###
示例:npm i jquery@2.0.1
3.卸载某一个包 npm un ***
示例:npm un jquery@1.2.1
4.安装全局依赖 npm i *** -g
示例:npm i http-server -g
5.查看全局包的下载路径
npm root -g