首页 > Web开发 > 详细

nodejs基础

时间:2019-12-23 15:54:46      阅读:117      评论:0      收藏:0      [点我收藏+]

Node.js是一个基于Chrome V8引擎的JavaScript运行。

js的运行环境

运行js有两种:

.js文件方式

交互(REPL):

  node  回车进入交互模式

  .exit 退出交互模式

模块化: 作用  复用  解决命名冲突

module 

一个js文件就是一个模块   模块之间互不影响

global是nodejs里面的全局对象

例如:global.a=a;

引入模块     var a = require(模块的路径)

导出模块    module.exports =a;

导出多个变量的时候可以写成对象的模式

exports 默认指向module.exports

如果exports指向了新的对象,那么就没有了导出的效果

浅拷贝

var obj ={ ...obj}  //浅拷贝(es6)

var obj2 = Object.assign({},obj); //浅拷贝(es5)

浅拷贝解决了对象引用时候互相影响的问题

补充:

node.js采用commonjs规范

.json也是一个单独的模块

\t  相当于四个空格

\n换行

引入模块如果省略扩展名 是按照 .js .json .node 的顺序引入的

 

模块的分类:

1.自定义模块

2.内置模块:(类比手机自带的软件不用下载)

①http、https(面试题:http和https的区别)

//引入内置的http模块
const http = require("http");
//引入第三方模块 第三方下载 npm install 卸载 uninstall  / yarn add 卸载remove
const chalk = require("chalk");
//创建一个http服务器
var ser = http.createServer((req,res)=>{
    //响应头里写入编码问题 响应的writeHead的方法响应头
    res.writeHead(200,{‘Content-type‘:‘text/html;charset=utf-8‘})
    res.end("hello,dd冬冬");
    //end方法返回一个消息
})
//这个服务器监听到3000端口
console.log(chalk)
ser.listen(3000,()=>{
    console.log(chalk.green("listen 3000...."))
})

②fs文件操作模块(内置模块)

同步sync 读写文件 :fs.readFileSync("文件的路径","utf-8")    fs.writeFileSync("文件的路径","内容",utf-8")  fs.appendFileSync("文件的路径","追加的内容",utf-8"

异步async读写文件fs.readFile("文件的路径","utf-8",(err,data)=>{if(!err){ data就是读出的内容}})    fs.writeFile("文件的路径","utf-8",callback)    

流stream:拷贝(copy)pipe 管道 fs.createReadStream   fs.createWriteStream

3.第三方模块:(类比手机里要下载后再使用的软件)

npm  看文档说明

npm init -y 会产生package.json包管理文件 里面的script标签对象 , npm run +key值运行,可以用来自定义命令。

npm i 或者 yarn命令会根据package.json重新下载node_modules文件

nodejs基础

原文:https://www.cnblogs.com/dongdong1996/p/12082278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!