初识vue和mongoDB

1, mongodb专业术语
专业术语查看node.js的ppt课件
document一行表格信息
field一列表格信息
db.foo.find(…).limit(n) 根据条件查找数据并返回指定记录数
db.foo.find(…).skip(n)
db.foo.find(…).sort(…) 查找排序
db.foo.findOne([query]) 根据条件查询只查询一条数据
db.foo.getDB() get DB object associated with collection 返回表所属的库
db.foo.getIndexes() 显示表的所有索引

2,vue ajax请求的几种方式
fetch vue-resource axios
fetch使用步骤
参考文档github 收索fetch
1,npm install whatwg-fetch --save 帮助我们做全浏览器兼容
2,安装好就可以使用了,当我们页面加载后我们就可以发起ajax请求了 使用代码
fetch(’/users.html’)
.then(function(response) {
return response.text()
}).then(function(body) {
document.body.innerHTML = body
}
vue-resource使用步骤
参考文档github 收索vue-resource
1, npm install vue-resource --save
2, 安装完毕 复制官网提供的发起请求的代码到生命周期mouted中
{
this.$http.get(’/someUrl’).then(response => {
// get body data
this.someData = response.body;
}, response => {
// error callback
});
}
axiso使用方式
1,安装 npm install axios --save
2,这个工具很轻,在github中收索axios 查看手册看怎么使用!安装完后就用下面的 代码发起ajax请求
axios.get(’/user?ID=12345’)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
3,mongodb 启动服务器
1. 配置环境变量
将MongoDB的安装目录(如:D:\Program Files\mongodb\Server\3.4\bin) 添加到 path
2. 启动 mongodb服务 (在dos中操作,前提:环境变量已配置,如果没有配置环境变量,需要进入到bin目录下操作)
(1) 启动本地服务
mongod.exe --dbpath mongodb的数据库路径
指定服务名称,有多个mongodb服务时执行
mongod.exe --bind_ip 192.168.1.2 –logpath E:\MongoDB_Data\dbConf\mongodb.log --logappend –dbpath E:\MongoDB_Data\db --port 27017 –service
(3) 客户端

A. 连接本地数据库
1 >mongo // 直接输入mongo命令即可
B. 连接远程数据库,无用户名和密码
1 > mongo 远程服务器IP:端口port // 如:mongo 192.168.1.2:27017
C.连接远程数据库,有用户名和密码
1
2 > mongo 远程服务器IP:端口port -u 用户名 -p 密码 // 如:mongo 192.168.1.2:27017
-u admin -p pwd123

4,npm init yearn 基础命令
node.js上传文件步骤

  1. 进入node环境 node+空格+文件夹名称
  2. Ctrl+C两次退出Node环境
    3.在工程目录里Npm使用init命令(npm init),名字(包文件名称)要全网唯一 is ok? =>yes 生成node包文件(文件成立)
  3. Npm publish 出现+ 。。。就代表上传到仓库去了
    5.Npm install dell-li-201710-16(包名字) 就可以下载到别人的代码了
    6,第三方模块安装
    Npm cherrio –save 安装cheerio
    yern基础命令
    npm install nrm –g // 全局安装
    nrm ls //查看可用源
    nrm use //查看项目引用源
    Yarn与node等价的命令
    Yarn add == npm install
    5,下拉刷新程的内容
    1,点开iscroll官网,
    2,进入iscroll仓库GitHub
    3,点开右侧clone or download中的 Download zip把线上仓库下载到本地 把压缩包解压
    实现上拉下拉必须要在probe中引入scroll-probe.js这个文件。所以点开demos 把probe文件夹中的index.html复制粘贴到在桌面上新建一个文件夹命名为icsroll中 同时把demos中的文件夹中demoUtils.js拿过来粘贴到icsroll文件夹中 再把bulid文件夹中的iscroll-ptrobe.js粘贴到iscroll文件夹中 这时就可以实现上拉下拉刷新的功能了
    把icroll文件夹打开这时修改代码
    第一步:
    引入修改为当前文件夹下的路径
    同时我们也引入当前文件夹下的./demoUtils.js
    第二步
    我们在浏览器中打开改好的html
    这时可以看到如图右侧的y值 ,我们就可以根据y值做上拉下拉的功能了
    我们还需要把,onload去掉放到最后等加载完之后去执行loaded这个函数

6.Koa解决了什么问题?
Koa是为了解决es7里面的async开发的node框架,不再依赖回调。
Express是一个简化node开发的代码,基于回调用node语法写的框架。
7.模板引擎的作用?
模板引擎的作用:把原始的字符串和数据相结合生成最终想要的字符串。
后端 MVC 模式中,一般从 Model 层中读取数据,然后将数据传到 View 层渲染(渲染成 HTML 文件),而 View 层,一般都会用到模板引擎。
AJAX 的出现使得前后端分离成为可能。后端专注于业务逻辑,给前端提供接口,而前端通过 AJAX 的方式向后端请求数据,然后动态渲染页面。

8.面向对象的优点?
代码开发模块化更易维护和修改
代码复用
增强代码的可靠性和灵活性
增加代码的可解读性

9.vue动画?
可以使用JS动画实现、CSS动画实现和动画中的生命周期函数

10.单向数据流:
vue 遵循了典型的单向数据流的原则,即数据总是由父组件传递到子组件,子组件在其内部可以有自己维护的数据,但它无权修改父组件传递给它的数据。父组件通过绑定 props 的方式,将数据传递给子组件,但是子组件自己并没有权利修改这些数据,如果要修改,只能把修改这一个行为通过 event 的方式报告给父组件,由父组件本身决定改如何处理数据。

11.前端测试工具:mocha、gulp
运行命令:Mocha folder --recursive
12. Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一
13.ejs基础语法
模板引擎:把原始的字符串和数据生成自己想要的字符串。模板是个字符串

作用和原理
模板引擎把原始的字符串和数据结合,生成最终的字符串,原始字符串中,可以根据模板引擎的语法编写逻辑,模板引擎会通过正则等匹配技术,把原始字符串中的内容替换成传入的数据,从而生成最终我们需要的字符串.
在项目中,使用模板引擎,我们可以在HTML中编写一些判断和循环逻辑,这样会提高代码的可读性.
14,node 是啥? 核心模块
Node.js是一个基于v8引擎的JavaScript运行环境。使用了一个事件驱动,非阻塞式I/O的模型,使其轻量又高效。
在NOde.js的http和心模块中,包含request get createServer
核心模块:http、https、fs、path、module、process、url、Query String、console, Errors, Events, V8, Net, Stream
Npm:包管理仓库、一个网站、一条命令
15,数据库分页步骤
前端发送ajax请求,携带当前页码
后端接收前端请求,获取页面,根据页码计算出需要取的数据的起始位置和数目,然后把当前页面的数据返回给前端.后端同时要在接口中把数据库中数据的总页数返回给前端

16.cookie/session/localstorage/sessionstorage的区别
(1) Cookie 本地存储,可以设置时长,大小4KB,cookie在域名级别是隔离的,全兼容,使用起来很麻烦
(2)Localstorage 本地存储,常用于移动端,大小5MB,域名级别是隔离的,使用简单,生命周期是永恒的,用于表单回填,只能存字符串,不能存对象,如果在PC端使用,最好加上
try{
Localstorage.name=”ren”
}catch(e){}
(3)sessionstorage 本地存储,常用于移动端,大小5MB,域名级别是隔离的,使用简单,生命周期是一个会话周期
(4)Session 服务器端存储
17.node中间层
Node中间层的使用目的:解决高并发,同时解决性能上的问题
Node的使用场景:
(1)前端自动化工具的开发
(2)使用node搭建高并发中间层
(3)使用node做聊天工具
(4)在vue中做服务器端渲染
18、module.exports、exports、export default、export的区别?
Node采用CommonJS模块规范。
根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
(1) module.exports
CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。require方法用于加载模块。
(2)exports
exports 与 module.exports为了方便,Node为每个模块提供一个exports变量,指向module.exports。这等同在每个模块头部,有一行这样的命令。于是我们可以直接在 exports 对象上添加方法,表示对外输出的接口,如同在module.exports上添加一样。但是要注意,不能直接将exports变量指向一个值,因为这样等于切断了exports与module.exports的联系。
module.exports和exports的区别:
module.exports 初始值为一个空对象 {}
exports 是指向的 module.exports 的引用
require() 返回的是 module.exports 而不是 exports
(3)ES6模块规范使用export/import来导出、导入模块。t需要特别注意的是,export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。
(4)export default 命令
export default命令,指为模块指定默认输出,这样就不需要知道所要加载模块的变量名。
Export和export default的区别:
export与export default均可用于导出函数、文件、模块等
在一个文件或模块中,export、import可以有多个,export default仅有一个
通过export方式导出,在导入时要加{ },export default则不需要
export能直接导出变量表达式,export default不行。
19.vue的生命周期函数
(1)beforeCreated
(2)created
(3)beforeMounted
(4)Mounted
(5)beforeUpdated
(6)Updated
(7)bdforeDestory
(8)destoryed
20. vuex中computed methods watch的区别
(1)computed:计算属性(通过data里面的数据计算),有缓存机制,(性能高,),所依赖的变量发生变化时才会重新执行
(2)methods:返回的是一个方法,无缓存机制,代码量大
(3)watch: 监听,实现的效果和computed相似,代码量少

21.git的操作
Git checkout fenzhi
Git pull
Git add .
Git commit -m “change”
Git push
Git checkout master
Git merage fenzhi
22.虚拟Dom和render函数的转化过程
1>首先

{{header}}
被转化为render函数
2>render函数的返回值就是一个虚拟Dom
3>当前的虚拟Dom和上一次的虚拟Dom做对比
4>找出虚拟Dom的差异
5>找到了虚拟Dom的差异,实际上就是找到了Dom的差异
6>根据差异,修改真实Dom上需要修改的部分

猜你喜欢

转载自blog.csdn.net/Mrs_dai/article/details/78709985