初步了解NODE

举报
小妖现世 发表于 2020/07/30 10:49:34 2020/07/30
【摘要】 开始了解node了,感觉有点浅,希望后面可以深入一点NODE基础知识:1、应用NODE环境基于v8引擎webkit内核渲染和解析js(类似:webview/谷歌浏览器),解析js工具或者环境=>说它是后台语言主要原因是:一般会把node安装在服务器上,在服务器端js代码,通过node执行这些代码,实现服务器应该干的活执行node的方式:基于命令 node xxx.js 把js代码在node环...

开始了解node了,感觉有点浅,希望后面可以深入一点

NODE基础知识:

1、应用NODE环境基于v8引擎webkit内核渲染和解析js(类似:webview/谷歌浏览器),解析js工具或者环境=>说它是后台语言主要原因是:一般会把node安装在服务器上,在服务器端js代码,通过node执行这些代码,实现服务器应该干的活

执行node的方式

基于命令 node xxx.js 把js代码在node环境中执行

基于REPL模式(Read-Evaluate-Print-Loop,输入-求值-输出-循环)

在cmd中执行:node=>你的代码

类似的模块管理工具还有 bower、yarm

npm安装模块是从npmjs.com下载

borwer安装模块是从github.com下载

2、基于node.js实现服务器端的功能操作

后台语言:java、python、node.js、php、go

项目架构1:基于node.js构建全栈项目

项目架构2:基于node.js构建中间层

特点:单线程异步,无阻塞I/O、事件驱动

node.js作为服务层,抗压和抗并发的能力还是不错的

项目架构3:基于node.js实现服务器渲染

I/O:I:input输入  O:output输出

I/O一般指对文件的读写操作


window & global:

在客户端浏览器中运行JS,JS全局对象是:window

window的内置属性和方法:

在node中运行js,js全局对象是:global或者模块

process:node中进程管理的属性

    process.nextTick():设置下一个标记

    process.env:Node全局环境变量

Buffer:node的文件格式

setImmediate:立即执行(类似于setTimeout(func,0))

在REPL命令中输出的this是global,但是在xxx.js中输出的this是当前模块本身

node遵循commonJS规范:导入模块使用require,导出模块使用exports

支持整个覆盖导出

module.exports={

    fn,

    fn2

}

在node环境下,一般把一个JS文件当做一个模块

ES6的导入导出:

import obj from './1.js'; //从1.js中导入obj,obj是自定义的

export default{

    fn

};

__dirname:当前文件所在文件夹的绝对目录

__filename:当前文件的绝对目录

node模块有三类:

内置模块(node自带):

内置模块和三方模块导入时,直接require('模块名')即可,不用加路径

三方模块(npm yarn cnpm 安装的):

自定义模块:

自定义模块导入必须指定路径

url:

path.resolve():

path.join():拼接成相对路径

url.parse(url,true):

http是一个起服务的模块

let http=require('http');

http.createServer((request, response)=>{

    //前端向后端发送请求的时候,会执行回调函数

    //request存放的请求信息

    //response存放的响应信息

}).listen(端口号,()=>{

});


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200