axios

【融职培训】Web前端学习 第6章 jQuery Ajax 3 Ajax第三方模块

試著忘記壹切 提交于 2020-08-12 03:38:11
一、概述 在上一节的内容中,我们说了如何自己封装一个简易的Ajax方法。 其实在实际项目开发中,我们并不需要自己去封装,已经有很多成熟的Ajax第三方模块了,直接使用即可。 本节就来说说一个常用的Ajax第三方模块-Axios。 二、下载并引入Axios 可以直接使用npm下载Axios,命令如下: npm install axios 因为我们要将Axios引入到前端的页面,所以需要将axios.js文件拷贝到静态文件目录。 在node_modules目录中,找到axios>dist>axios.min.js文件,拷贝到public目录中即可。然后在模板中用script标签来引入此js文件。 三、后台程序 关于后台程序,我们仍然使用第01节的水果列表增删改查接口,实例代码如下所示: 1 // 数据 2 let dataList = ["香蕉","苹果","鸭梨" ]; 3 4 // get查看 5 router.get("/fruits", ctx => { 6 ctx.body = dataList; 7 }) 8 // post添加 9 router.post("/fruits", ctx => { 10 let fruit = ctx.request.body.fruit; 11 dataList.push(fruit); 12 ctx.body = dataList; 13

使用mockjs模拟后台接口返回的数据(二)

天大地大妈咪最大 提交于 2020-08-12 01:52:41
前后端联调一般的逻辑是,前端通过ajax访问后端,后端通过json数据返回给前端。 使用mockjs就是通过mock模拟服务器响应,要在项目当中拦截请求并且用mockjs返回数据。 一般是通过 webpack下devServer的before属性 做拦截。 ①vuecli脚手架根目录新建vue.config.js,键入如下代码: module.exports = { devServer: { before: require('./mock/index.js') //引入mock的index.js } } ②根目录mock文件夹下新建index.js,键入如下代码: /* * @Descriptions: * @Version: * @Author: * @Date: 2020-06-18 23:20:14 * @LastEditors: dongwenjie * @LastEditTime: 2020-06-18 23:27:11 */ const fs = require('fs'); const path = require('path'); const Mock = require('mockjs'); const JSON5 = require('json5'); // 读取json文件 function getJsonFile(filePath) { //

四面腾讯与华为,大厂前端面试真BT!

ε祈祈猫儿з 提交于 2020-08-12 01:45:31
今年算是经历颇多的一年了,腾讯和华为都走了几趟(一共面试了四个部门),拿了两个offer。(开心.png),但还是挂了两次,有点遗憾。 面试题总结 面试完之后,赶紧总结了一波,前端这个岗位,这两家大厂的面试思路和面试问题其实都差不多: 1. JS底层: 说一说js的原型与继承。 分析一下优秀的前端框架源码,这么写的优缺点在哪。 this指向问题,this的深拷贝如何实现,这个也是高频率被问到的问题。 js事件流是怎么样体现的。 柯里化函数。 2. 数据层: 写过中间件么? 了解koa么? 数据安全是怎么处理的。 axios 与 fetch的实现。 3. HTTP相关: 跨域问题的产生与解决。 http1.1时如何复用tcp连接。 http2.0新的变化。 http报文的请求分成几个部分? 前端与后台交互的时候会产生几次握手,分别做了什么? 4. 框架: 说一说vue的源码的响应式与数据驱动,主要是问原理。 Vue与react的区别在哪,这个也是问底层实现。 虚拟dom、diff算法等等,基本没问到过怎么去使用。 像组件传值啥的没提过。还有就是路由的管理 有没有封装过组件库, dev-server是怎么跑起来的。 5. 服务端与工具 主要是Node的问题,有没有拿node做过中间层。 Node的线程处理、事件循环。 这个主要就是 webpack 与 babel 的配置

vue的一些配置

≯℡__Kan透↙ 提交于 2020-08-12 01:35:01
1、提取公共的颜色值或者像素值得操作:在assets>styles文件下创建varibles.styl。然后在该文件中定义一个变量$bgColor = red 然后在用到该颜色值得时候在该样式中引入文件 @import 'varibles文件的地址'。然后直接可以写该变量的名字就可以了。(7-2) 2、在style样式中引入文件需要用@import。 3、路径简化,可以把经常用到的路径配置成一个别名,此操作在build文件下的webpack.base.conf.js中配置。具体位置在resolve下面的alias对象里面配置。注意:如果在样式中引入样式的路径用到了别名的时候需要加“~”这个波浪线。其他的地方引入不需要加~。 4、样式穿透:我们开发一般会用到其他的插件,这时候如果要修改其样式的话就需要穿透。比如:我们用到了swiper轮播插件,然后我们需要修改其样式,就可以用: 外面的.class >>>插件的.class 这样就可以实现修改。 5、使用axios的时候必须安装:npm install axios --save。 axios的使用如下图> 6、在vue项目中给静态资源添加版本号。方式是 在build文件夹下的webpack.prod.conf里的搜索HtmlWebpackPlugin处,添加hash值就可以了。如下图 来源: oschina 链接: https:/

Vue.js实训【基础理论(5天)+项目实战(5天)】博客汇总表【详细笔记】

大憨熊 提交于 2020-08-11 21:39:54
目 录 前言 基础理论(5天) 基础理论-Day01 基础理论-Day02 基础理论-Day03 基础理论-Day04 基础理论-Day05 项目实战 项目实战-Day01 项目实战-Day02 项目实战-Day03 项目实战-Day04、Day05 前言 10天的实训,收获还是很多的。并且,几乎每节课都有录播+源码+笔记(只有一节课,忘了录屏)。 大部分知识,都总结到了博客上。 培训用到的东西:VScode软件、视频、PDF笔记、源码。 除了视频没有上传,其它的都在博客上了。视频,不方便上传!!!可私聊... 例如: 基础理论(5天) 基础理论-Day01 Vue.js-Day01-AM【第一次学习-安装、基础使用(引入方式)、数据展示、指令介绍(v-html、v-text、v-bind、v-if、v-for】 Vue.js-Day01-PM【事件绑定(事件传参、事件对象、传参+获取事件对象)、样式处理操作(模板、事件、属性绑定)、Tab切换(原生js实现、Vue.js实现)、js中的this详解关键字】 基础理论-Day02 Vue.js-Day02-AM【Vue表单、核心指令(单选框、密码框、多行文本框、单选、多选、勾选、下拉列表)、组件汇总案例、ToDoList案例、计算属性(computed)、watch监听】 Vue.js-Day02-PM【组件化开发(全局注册组件

点亮你的Vue技术栈,万字Nuxt.js实践笔记来了

孤街浪徒 提交于 2020-08-11 20:43:37
前言 作为一位 Vuer(vue开发者),如果还不会这个框架,那么你的 Vue 技术栈还没被点亮。 Nuxt.js 是什么 Nuxt.js 官方介绍: Nuxt.js 是一个基于 Vue.js 的通用应用框架。 通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。 我们的目标是创建一个灵活的应用框架,你可以基于它初始化新项目的基础结构代码,或者在已有 Node.js 项目中使用 Nuxt.js。 Nuxt.js 预设了利用 Vue.js 开发服务端渲染的应用所需要的各种配置。 如果你熟悉 Vue.js 的使用,那你很快就可以上手 Nuxt.js 。开发体验也和 Vue.js 没太大区别,相当于为 Vue.js 扩展了一些配置。当然你对 Node.js 有基础,那就再好不过了。 Nuxt.js 解决什么问题 现在 Vue.js 大多数用于单页面应用,随着技术的发展,单页面应用已不足以满足需求。并且一些缺点也成为单页面应用的通病,单页面应用在访问时会将所有的文件进行加载,首屏访问需要等待一段时间,也就是常说的白屏,另外一点是总所周知的 SEO 优化问题。 Nuxt.js 的出现正好来解决这些问题,如果你的网站是偏向社区需要搜索引擎提供流量的项目,那就再合适不过了。 我的第一个 Nuxt.js 项目 我在空闲的时间也用 Nuxt.js 仿掘金 web

nodejs 使用 axios cheerio 发布 osc 博客[需要cookie]

那年仲夏 提交于 2020-08-11 20:26:51
发布markdown格式的博客 首先通过get拿到写博客的网页 然后在里面提取出分类,user_code 等信息 最后拼接数据, 将markdown格式的blog发布 返回码为1时表示发布成功 代码 const axios = require('axios') const fs = require('fs') const $ = require('cheerio') const qs = require('qs'); const path = './t.md' const CONTENT = fs.readFileSync(path, 'utf8') axios.interceptors.request.use(function (config) { if (config.method === 'post') { config.data = qs.stringify(config.data) } return config; }, function (error) { return Promise.reject(error); }); const headers = { "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

nodeJs + js 大文件分片上传

自古美人都是妖i 提交于 2020-08-11 19:19:34
简单的文件上传 一、准备文件上传的条件: 1、安装nodejs环境 2、安装vue环境 3、验证环境是否安装成功 二、实现上传步骤 1、前端部分使用 vue-cli 脚手架,搭建一个 demo 版本,能够实现简单交互: < template > < div id ="app" > < input type ="file" @change ="uploadFile" ></ button > </ div > </ template > 2、安装 axios 实现与后端交互: import Axios from 'axios' const Server = Axios.create({ baseURL: '/api' }) export default Server 3、后端使用 node-koa 框架: // index.js const Koa = require('koa' ); const router = require('koa-router')() // koa路由组件 const fs = require('fs') // 文件组件 const path = require('path') // 路径组件 const koaBody = require('koa-body') // 解析上传文件的插件 const static = require('koa

【融职培训】Web前端学习 第9章 教务管理系统开发5 前端代码讲解

爷,独闯天下 提交于 2020-08-11 18:56:28
一、导航守卫 导航守卫主要用于实现在页面发生跳转时,检测token的存在,如果token没有或失效,网页则回到登录页面,代码如下。 1 router.beforeEach((to, from, next) => { 2 let token = localStorage.getItem("token" ); 3 console.log(token) 4 if (token || to.path === "/" ) { 5 next(); 6 } else { 7 next({ 8 path:"/" 9 }); 10 } 11 }) 二、封装请求方法 在教务管理系统中,我们需要自己封装请求方法,以完成一些麻烦的任务,封装的代码如下。 1 import axios from "axios" 2 3 const service = axios.create({ 4 baseURL: "http://127.0.0.1:7001/" 5 }) 6 export default service 三、登录请求功能 在登录的过程中,我们需要向后台发送数据,并对后台传的数据,进行判断,以做出各种网页的效果,代码如下所示。 1 login() { 2 request({ 3 url:"/login" , 4 method:'post' , 5 data: this .dataQ 6 }).then

nodeJs + js 大文件分片上传

假如想象 提交于 2020-08-11 13:40:52
简单的文件上传 一、准备文件上传的条件: 1、安装nodejs环境 2、安装vue环境 3、验证环境是否安装成功 二、实现上传步骤 1、前端部分使用 vue-cli 脚手架,搭建一个 demo 版本,能够实现简单交互: < template > < div id ="app" > < input type ="file" @change ="uploadFile" ></ button > </ div > </ template > 2、安装 axios 实现与后端交互: import Axios from 'axios' const Server = Axios.create({ baseURL: '/api' }) export default Server 3、后端使用 node-koa 框架: // index.js const Koa = require('koa' ); const router = require('koa-router')() // koa路由组件 const fs = require('fs') // 文件组件 const path = require('path') // 路径组件 const koaBody = require('koa-body') // 解析上传文件的插件 const static = require('koa