NodeJs基础
一、什么是NodeJs? NodeJs是一个基于Chrome的v8引擎的JAVAScript运行环境; 使用了事件驱动以及非阻塞的I/O式模型; NodeJs中的npm是全球最大的包管理网站。 二、引擎: 脚本引擎(v8引擎) 渲染引擎 三、I/O模型: I:input 输入 O:output 输出 四、npm:是一个命令,也是一个网站,也是一个包 npm一些常用指令: npm install:安装package.json中的依赖 npm install 包名 --save:生产环境的依赖 npm install 包名 --save-dev:开发环境的依赖 npm install 包名 -g:全局安装 npm update 包名 :升级 npm uninstall 包名:卸载包 npm cache clean :清除缓存 五、yarn(推荐使用) 也是一个包管理器 cnpm install yarn -g:安装yarn cnpm install jquery swiper layui zepto touchjs -S yarn add jquery swiper?layui zepto touchjs yarn好处:安装的过程是异步安装,有缓存,下次安装的时候会缓存中进行安装 npm init ===yarn init:让一个文件夹变成一个node包 常用命令: yarn install:安装package.json中的依赖; yarn add 包名:生产环境的依赖; yarn add 包名 --dev :开发环境的依赖; yarn add 包名 -g:全局安装; yarn upgrade 包名:升级; yarn remove 包名:卸载 六、NodeJs与原生Js的区别: 1、原生Js 中有BOM、DOM,但是NodeJs是运行在服务端的js环境,因此没有BOM、DOM、跨域的概念; 2、NodeJs中也有原生Js中没有的属性,例如:process、global 3、NodeJs可以调用底层的API、文件的读写、服务器的创建、环境变量的配置、连接/操作数据库...... 因此我们可以通过以上信息来判断当前环境是浏览器环境还是NodeJs环境 七、进入Node的交互模式:node 回车 退出Node的交互模式:两次Ctrl+c || Ctrl+d 八、NodeJs能做什么事情? 实际项目中做中间层,优点是解决高并发,缺点是不适合大量计算 九、NodeJs中的模块分为三部分: 1、内置模块:http 2、第三方模块:需要通过npm进行下载 3、自定义模块:自己编写的模块 十、node创建服务器 const http = require("http"); //创建服务器 const server = http.createServer((req,res)=>{ // res.setHeader("content-type","text/plain;charset=utf8") // res.statusCode = 200; console.log(req.url); console.log(req.headers) console.log(req.method); res.writeHead(200,{"content-type":"text/plain"}) res.write("123"); res.end("再见"); }) server.listen(9000,()=>{ console.log("服务器启动:localhost:9000") }); /* req、res中的参数 1、req:request 请求 (1)req.url 请求的url地址 (2)req.headers 请求头 req.headers请求头 常用请求头的类型: application/json application/x-www-form-urlencoded (3)req.method 2、res:response 响应 (1)res.end 最后一次响应 只能调用一次 (2)res.write 响应 可以调用多次 (3)res.statusCode 设置服务器状态码 setHeader:设置响应头 常见的响应头类型: text/plain text/html text/css application/x-javascript application/json (4)res.writeHead() statusCode + setHeader的结合 res.writeHead(200,{ "content-type":"text/html;charset=utf-8","Access-Control-Allow-Origin":"*" }); (5)res.setHeader(); 设置响应头 $.ajax({ type:"post",url:"",headers{ content-type:"application/x-www-form-urlencoded" 数据序列化 } data:username=123&password=456 }) username=123&password=456 */ 十一、node连接服务器 const http = require("http"); let url = "http://m.maoyan.com/ajax/movieOnInfoList?token=" /* node服务器与服务器之间进行数据请求的时候数据是一块一块接收的 不像浏览器 一下子全部接收 */ http.get(url,(res)=>{ let str = "" res.on("data",(data)=>{ str += data; }) res.on("end",()=>{ console.log(JSON.parse(str)); }) }) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |