博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js、npm、webpack的理解
阅读量:4042 次
发布时间:2019-05-24

本文共 1562 字,大约阅读时间需要 5 分钟。

npm、webpack的理解

一、node.js

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

1)大白话理解

前后端分离,使得后台只需关注服务即可,但有时候开发的不同步,前台往往需要等待后台的接口,通俗的说,“node.js就是一个前端觉得写个功能还要等后端捣鼓半天,然后干脆就自己用javascript把后端搞定的一个东西”。node.js可以看成是apache/tomcat;JavaScript可以对应看成是php/jsp语言。google v8 引擎被嵌入到node.js当中,用来解释JavaScript语言。由于后台比较关注安全性和稳定性,所有很多企业目前并不敢尝试使用node.js来开发后台语言,目前node.js的最广泛的应用是node中间层

2)目前nodejs主要有以下几个应用场景.

①前端工程化,比如rollup,webpack在工程化方向的探索

②nodejs中间层
③客户端集成nodejs,比如electron
④市面上一些不太复杂的应用选择nodejs作为后端编程语言,本文主要讲一讲nodejs作为中间层的一些实践.

3)node.js作为中间层使用

在这里插入图片描述
1.理解

① 传统的的开发模式由浏览器直接和Server层直接通信,中间层的加入意味着在浏览器和Server层之间额外添加了一层.

②原来客户端直接向Server发送请求,Server层收到请求后经过计算处理将结果返回给浏览器.

③如今浏览器将请求发送给node层,node层经过一轮处理后再向Server层发起请求.Server层处理完毕将响应结果返回给node层,node层最后将数据返回给浏览器.

④因为node层的出现,Server层可以只用关注业务本身,而不必理会前端对字段的特殊要求。

⑤node层可以向server层获取数据,再通过对数据的计算整合转换成符合前端UI要求的数据格式.另外整个应用如果采用微服务架构,那么Server层会有很多台管理单独业务模块的服务器,node层就很好的适配了微服务的架构,它可以向多台服务器发起请求获取到不同模块的数据再整合转化发送给前端.

2.代理转发

①代理转发在实际中有很多广泛的应用.浏览器首先将请求发送给node服务器,请求收到后node服务器可以对请求做一些处理,比如将原来的路径变换一下,请求头的信息改变一下,再把修改后的请求发送给远程真实的服务器.

②远程服务器计算出响应结果再返回给node服务器,node服务器仍然可以对响应做选择性处理再分返回给浏览器.

③代理转发可以解决前端日常开发中经常遇到的跨域问题,另外它还屏蔽了远程真实服务器的细节,让浏览器只与node服务器通信.

二、npm的理解

1)npm全称叫Node(节点)包管理工具(Node Package Manager)
1.使用npm包的好处

①统一的下载入口

② 自动下载依赖

2)npm的安装

在这里插入图片描述
说明:因为npm的服务器再国外,所以推荐使用taobao镜像下载。镜像的意思就是国外服务器的一个完整复制,来保存在国内服务器上。其实vue.js的本质就是十一javaScript编写的js文件。

只需要安装nodejs,就自带了npm工具 nodejs的下载地址:

下载安装好后,在命令行输入npm -v,如果安装成功会显示出npm的版本号

三、webpack的理解

1)webpack?
答案:就是一个文件打包器
2)项目中常用的几个模块
在这里插入图片描述

转载地址:http://kmmdi.baihongyu.com/

你可能感兴趣的文章
自定义 select 下拉框 多选插件
查看>>
js判断数组内是否有重复值
查看>>
js获取url链接携带的参数值
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>
arm linux 生成火焰图
查看>>
linux和windows内存布局验证
查看>>
linux insmod error -1 required key invalid
查看>>
linux kconfig配置
查看>>
linux不同模块completion通信
查看>>
linux printf获得时间戳
查看>>
C语言位扩展
查看>>
linux dump_backtrace
查看>>
linux irqdebug
查看>>
git 常用命令
查看>>
linux位操作API
查看>>
uboot.lds文件分析
查看>>
uboot start.s文件分析
查看>>
没有路由器的情况下,开发板,虚拟机Ubuntu,win10主机,三者也可以ping通
查看>>
本地服务方式搭建etcd集群
查看>>