ys-node-gongpengji

0.0.2 • Public • Published

JavaScript(ECMAScript)宿主环境: v8引擎

  • Node.js
  • 浏览器

io.js Node.js 没有浏览器安全级别的限制 功能:

  • 文件的读写
  • 进程的管理
  • 网络通行 ... 能干什么
  • API接口开发
  • 工具的运行环境
  • 桌面系统

nvm --- 去官网找下载最新的node命令 mac配置全局环境的文件 cd ~ pwd 看看路径 ls -la 有啥文件 cat 看文件 vim 编辑文件.bash_profile: 将下面代码copy进去 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion 然后输入: source .bash_profile

nvm --help nvm ls 本地node有哪些版本 nvm ls-remote 服务器端有哪些版本可用 nvm install --lts 稳定版 nvm uninstall / nvm use

代码 上传npm 必须修改到npmjs源 npm config set registry https://registry.npm.taobao.org npm config set registry https://registry.npmjs.org npm config get registry 查看当前源

上传 npm
1.注册npmjs账号,记住登录进去验证绑定邮箱 npm adduser npm publish

Node进程维护工具: nodemon pm2 supervisor

Node 常用模块

http:再看

http.get(url,(res)=>{
    let sum = "";
    res.setEncoding('utf8')
    res.on('data' ,(chunk)=>{
           sum += chunk
    } )
    
    res.on('end',()=>{
           console.log(sum)
    } )
})

url

url.parse(url) url.format(obj) url.resolve(url + 'abc')

querystring

qs.parse(str,[';'],[':']) qs.stringify(str,[';'],[':']) qs.escape(str) qs.unescape(str)

fs

回调错误优先

文件 fs.writeFile fs.readFile fs.appendFile fs.unlink fs.existSync 是否存在

文件夹 fs.mkdir 创建 fs.rmdir 删除 fs.readdir 读取文件夹内容 fs.stat

10.0以上版本 var s = fs.promises

fs.watch(url,(eventType,filename)=>{ }) fs.watchFile(url,(current,previous)=>{

})

const  readStream = fs.createReadStream('url')
const  writeStream = fs.createWriteStream('url')
readStream.pipe(writeStream)

zlib

zlib gzip = zlib.createGzip

events

events.on() events.once() events.off() events.emit ()

path

path.extname()

1.原生Node.js静态资源服务器

注意:node-模块之间使用common.js规范,注意模块的引入与暴露

思想:静态资源服务器!

index.js:入口配置文件

---服务器,先起个服务,node内置http.createServer(),记得最后配置一个端口号

---获取浏览器请求的文件路径,http的内置参数(req.res) req.url 例如:/index.html

---获取当前服务器配置文件的绝对路径:用node内置方法__dirname获取当前文件夹绝对路径 ,在指向:拼接上静态资源文件夹的路径;

---上述两个路径用node内置path.join(注意join参数接收两个,是第二个参数拼接在第一个参数后面)进行拼接,及获取到服务器对应文件的绝对路径

---可以使用判断跳过favicon.ico的错误

---调用content.js文件,进行判断

---利用node内置path.extname()获取文件类型,及返回路径最后的文件后缀,如".html",再用slice(1),去掉第一个点;

---拿到文件类型,调用mine文件,查看mine文件中是否存在该文件类型

---不存在返回一个默认类型,存在则取出对应的解析类型 如:text/html

---为res,及向浏览器返回设置传出头,res.setHeader(('Content-Type', 上述返回的解析类型))

---在对解析类型进行判断,若是image,使用res.write(文件数据,'binary')返回浏览器请求的结果,否则直接res.write(文件数据)

content.js: 控制器

---使用node内置fs.existsSync(路径),判断当前路径是否存在

---fs.statSync(路径),返回值,对象,文件具体详情

---利用上面的返回值stat.isDirectory()判断是否是文件夹类型,在决定调用dir方法,还是file方法

dir.js 读取文件夹(可以返回html标签,并对当前文件返回具体内用)

---使用node内置fs.readdirSync(),读取当前路径下的所有文件夹,文件也当文件夹了,返回值是一个数组对象

---使用数组遍历方法Array.entries(entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。)并用for of方法对其取出value值

file.js 读取文件

---使用node内置fs.readFileSync(文件路径)读取内容并返回

mine.js 判断类型使用

Readme

Keywords

none

Package Sidebar

Install

npm i ys-node-gongpengji

Weekly Downloads

0

Version

0.0.2

License

MIT

Unpacked Size

61.6 kB

Total Files

16

Last publish

Collaborators

  • gongpengji