1.说一下对nodejs的认识
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境
JavaScript有ECMAScript BOM DOM组成
node.js 由 ECMAScript 和 Node模块API 组成
2.什么是域名
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某
一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
3.Npm 全局下载和本地下载的区别
1-安装位置
局部 : 当前node项目下的node_modules目录中
全局 : C:\Users\lce\AppData\Roaming\npm
2-命令不同
全局命令 npm i xxx -g
局部命令 npm i xxx
3-全局安装会产生一个命令行工具
4-局部安装的包使用之前需要先进行导入
4.什么是http协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )
服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
5.Vue的路由和express的路由有什么区别?
1、express的router是属于后端的,Vue的router是属于前端的
2、服务端渲染时,express的router把数据和模板传给模板引擎的;客户端渲染时,
通过路由去获得静态页面,浏览器发送http请求向服务端获取数据,Vue router是不需要传数据的。
6.Commonjs规范是什么
1-每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
2-在模块中使用global 定义全局变量,不需要导出,在别的文件中可以访问到。
3-每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。
4-通过 require加载模块,读取并执行一个js文件,然后返回该模块的exports对象。
5-所有代码都运行在模块作用域,不会污染全局作用域。
6-模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。
7-模块加载的顺序,按照其在代码中出现的顺序。
7.Express中如何配置静态资源
app.use(express.static(目录))
8.Ejs模板引擎如何进行条件渲染
ejs.renderFile() 参数一:模板路径 参数二:渲染参数 参数三:回调函数
9.在浏览器地址栏键入URL,按下回车之后会经历以下流程
1.查找浏览器缓存:如果查找到缓存中有我们URL对应的文件,则判断是否命中强缓存,如果命中直接读取使用即可,如果强缓存没有命中,
2.DNS域名解析:将输入的URL解析成对应的IP地址
3.生成HTTP请求报文:请求报文包括起始行,首部,主体
4.TCP连接:客户端与服务端进行TCP三次握手,建立连接
5.发送HTTP请求:握手成功后,客户端向服务端发送http请求,请求数据
6.服务器收到请求并返回数据:客户端根据返回的结果进行渲染展示,同时判断是否需要将文件存入缓存
7.TCP断开连接:客户端与服务端进行TCP四次挥手,断开连接
11.说说你对Vue中slot的理解,应用场景有哪些?
理解:
“Vue实现了一套内容分发的API,这套API基于当前的Web Components规范草案,将slot元素作为承载分发内容的接口”。
slot的意思是插槽,Vue使用slot的作用是做内容分发。所谓的内容分发其实就是将父组件的内容放到子组件指定的位置叫做内容分发。
应用场景:
通过插槽让用户可以拓展组件,去更好地复用组件和对其做定制化处理
如果父组件在使用到一个复用组件的时候,获取这个组件在不同的地方有少量的更改,如果去重写组件是一件不明智的事情
通过slot插槽向组件内部指定位置传递内容,完成这个复用组件在不同场景的应用
比如布局组件、表格列、下拉选、弹框显示内容等