node.js基础入门语法总结

目录

目录

1.node内置fs模块

1.fs.readFile()

2.fs.writeFile()

3.注意点

2.path模块

1.path.join()

2.path.basename()

3.path.extname()

3.http模块 

1.创建基本的web服务器步骤

2.res.end返回中文乱码问题

4.模块化

1.模块作用域

2.module对象,向外共享模块作用域中的成员

3.module.exports对象 向外共享作用域中成员

4.exports 和 module.exports使用误区

注意:

5.npm包管理工具使用

1.初始化项目包管理工具

2.一次性安装所有包

3.卸载包



1.node内置fs模块

1.fs.readFile()

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);
})


2.fs.writeFile()

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('文件写入成功')
})

3.注意点

  1. fs.writeFile()方法只能用来创建文件,不能用来创建路径。

  2. 重复调用fs.writeFile()写入同一个文件,新写入的内容会被覆盖之前的旧内容。

2.path模块

path同样是node内置的api需要通过require引入

1.path.join()

使用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);

2.path.basename()

作用是获取路径中最后一部分,经常使用这个方法获取文件中的文件名。

使用方法:

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);

3.path.extname()

作用是获取文件的拓展名

使用方法:

path.extname(path)

使用举例:

const fpath = '/a/b/c/index.html'
const wenjian = path.extname(fpath)
console.log(wenjian);

3.http模块 

http模块同样也是node中内置的api,通过require导入。

1.创建基本的web服务器步骤

(只是基础了解使用,真正开发一般使用框架,这样开发更高效)

    //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');
})

2.res.end返回中文乱码问题

发送时需要将响应头设置返回格式为:

 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');
})

设置好响应头格式这样就可以解决中文乱码问题。

4.模块化

1.模块作用域

1.在自定的模块当中定义的变量,方法等成员,只能在当前的模块中被访问使用,无法在别的模块中使用

2.好处:避免的全局变量污染。

2.module对象,向外共享模块作用域中的成员

1.在我们创建的每个.js文件当中都存在一个module对象,在module中存储了和当前模块有关的信息。

3.module.exports对象 向外共享作用域中成员

1.在我们自定义的.js文件中module.exports默认是一个空的对象为:module.exports={}

当我们想要在别的文件中使用这个模块时候,通过require导入的其实是对应模块的module.exports对象。

2.默认情况下exports和module.exports指向的是同一个对象,最终的共享结果,还是以module.exports指向的对象为准。exports 可以理解为module.exports简写版。

4.exports 和 module.exports使用误区

1.使用require()模块时候,得到的永远都是module.exports指向的对象。

注意:

为了防止混乱,一般在使用时不要在同一个模块中使用 exports 和 module.exports两种同时使用。

5.npm包管理工具使用

1.初始化项目包管理工具

1.创建文件时,文件名称不能用中文和含有空格,在空文件中首先执行npm init -y 创建package.json

npm init -y

当我们运行npm install命令时,npm包管理工具会自动把包的名称和版本号记录在package.json中。

在package.json中含有一个dependencies节点,专门用来记录您使用npm install 命令安装了那些包。

2.一次性安装所有包

npm install

1.执行npm install 命令时,npm包管理工具会先读取package.json中的dependences节点,

2.读取到记录的所有依赖包名称和版本之后,npm包管理工具会把这些包一次性的下载到项目中。

3.卸载包

npm uninstall 包名

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值