既然选择了远方,便只顾风雨兼程! __HANS许

系列:零基础搭建前后端分离项目

提示:本篇图片较多,所以篇幅较长。

在前面几篇文章我们讲了Vue的基本内容,语法,组件,插件等等。但例子却是是以平常样式那样引用JS来创建,那接下来我们就是Node的环境来创建项目。

vue-cli@3.x 创建项目

cli(command-line interface)命令行界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。

我们先创建一个文件夹"Vue",然后在"Vue"里面创建创建两个文件夹"VueCli"和"VueUi",那第一个我们用命令创建,另一个我们用界面创建。

  1. 安装

    执行命令npm install vue -gnpm install -g @vue/cli-service-global,Vue与Vue-cli都全局安装。在终端执行Vue -v,就查看Vue的版本。

  2. 命令创建

    • 执行vue create cliproject
      在项目根目录文件夹,执行上述命令,会出现下面的图片,有两个选项,第一个就是默认了,直接创建项目,我们选择第二个,进行定制化,下移,确定。

    • 接着我们上下移,按空格键,选择,按确定键

    enter description here
    • 然后接下来就一顿选择,按确定则是默认

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here
    • 最后我们创建了项目

    enter description here

    enter description here

    这样我们就创建了一个Vue项目。

  3. 界面创建

    • 执行vue ui

    • 接着访问http://localhost:8000/,可以看到如下界面

    • 我们可以指定一个目录,创建Vue项目

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    我们可以在UI这边可视化添加插件,添加依赖,配置项目,运行任务

    • 插件

    enter description here
    • 依赖

    enter description here
    • 配置

    enter description here
    • 任务

    enter description here

如果项目熟悉,用第一种方式去创建项目更快,若是新手可以使用第二种,第二种会避免较少的错误。

最终效果:

enter description here
Vue的Debug(调试)

作为开发人员,我们肯定要学会调试的。,官方说明:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html

  1. 浏览器(Chrome)

浏览器要安装插件(vue-devtools),大家可以去这边博客进行下载:https://segmentfault.com/a/1190000009682735
安装完后之后,就可以在浏览器的插件看到,记得要把插件的“允许访问文件网址”的权限打开
在引用的vue.js等不是压缩的,按起F12便会出现一个vue的选项,可以在窗口查看修改datavuexevent

enter description here
  1. 编辑器(VsCode)
  • 在编辑器上的调试按钮,添加新的调试配置

  • 讲以下的代码覆盖到调试配置文件

    {
    "version": "0.2.0",
    "configurations": [
    {
    "type": "chrome",
    "request": "launch",
    "name": "vuejs: chrome",
    "url": "http://localhost:8080",
    "webRoot": "${workspaceFolder}/src",
    "breakOnLoad": true,
    "sourceMapPathOverrides": {
    "webpack:///src/*": "${webRoot}/*"
    }
    },
    {
    "type": "firefox",
    "request": "launch",
    "name": "vuejs: firefox",
    "url": "http://localhost:8080",
    "webRoot": "${workspaceFolder}/src",
    "pathMappings": [{ "url": "webpack:///src/", "path": "${webRoot}/" }]
    }
    ]
    }
  • 设置断点

enter description here
  • 然后F5运行,便可以调试到代码了

enter description here

个人而言,我比较喜欢第一种调试方式,vue-devtools可以做到我们在调试工具改数据,页面立马响应。边切有很好的可视化效果。还有一点就是配合“热更新”可以做到一个很好的调试效果。

Vue的Http请求
  1. vue-resource

vue-resource提供了使用XMLHttpRequest或JSONP 发出Web请求和处理响应的服务。
也就是可以进行服务端请求

  1. 安装

    同样的道理,你可以直接引用<script src="https://cdn.jsdelivr.net/npm/vue-resource@1.5.1"> </script>也可以npm install vue-resource

  2. 初始化

    但是最重要的是要将插件引用到Vue里面,在main.js里面引用。

    • 引用
    import VueResource from 'vue-resource'
    Vue.use(VueResource)
  3. 用法

     this.$http.get('url').then(res=>{
    console.log(res.data)
    },res=>{
    alert(res.data)
    }) this.$http.post('url', {foo: 'bar'}).then(res=>{
    console.log(res.data)
    },res=>{
    alert(res.data)
    })

    更多用法:https://github.com/pagekit/vue-resource

  4. axios/vue-axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
用于将axios集成到vuejs的插件
所以两者都是可以进行Http请求的。

  1. 安装
    同样道理,可以引用JS,也可以使用npm install --save axios vue-axios,将两者都引用起来。

  2. 初始化

    • axios
      单独使用axios的情况,他是不支持Vue,use(axios),所以引用进来,我们可以创建vue的一个属性给他,然后通过这个属性调用。
    import axios from 'axios'
    Vue.prototype.$axios = axios
    • vue-axios
      vue-axios依托与axios,所以两者都要引用过去。并且有个先后顺序。
    import axios from 'axios'
    import VueAxios from 'vue-axios'
    Vue.use(VueAxios, axios)
  3. 用法

    • axios
    this.$axios.get('url',params).then(res=>{
    alert(JSON.stringify(res.data))
    },res=>{
    alert(res.data)
    })

    更多用法:https://github.com/axios/axios

    • vue-axios
    Vue.axios.get(api).then((response) => {
    console.log(response.data)
    }) this.axios.get(api).then((response) => {
    console.log(response.data)
    }) this.$http.get(api).then((response) => {
    console.log(response.data)
    })

    更多用法:https://github.com/imcvampire/vue-axios

**如何选择呢?**vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,所以你懂得!

跨域问题:
我们在开发的过程中,可能会去请求不同服务器上的接口,所以我们会经历到跨域的问题。由于vue-cli3.x将所有的配置(Vue配置,WebPack配置等)全部集成在vue.config.js上,所以以前与现在不太一样,但是配置节点,内容是一样的。那下面提供2个链接,针对以前与现在:
- 以前:https://blog.csdn.net/my_csdn2018/article/details/82909989
- 现在:https://segmentfault.com/a/1190000014474361?utm_source=channel-hottest

特别强调配置完跨域,F12看请求的时候,上面的链接还是原来的链接,但是内部已经绑定转到你配置的地址上去了。

感言:终于把零基础搭建前后端分离项目写完了。前端的知识还有很多很多,要学的还有很多很多。后面也可能用实际的项目还讲讲自己遇到的坑,怎么解决的。那这个系列就这了,下个系列在再见。

简简单单的Vue4(vue-cie@3.x,vue’Debug[调试],vue‘sHttp)的更多相关文章

  1. webstrom Debug 调试vue项目

    第一种,使用vue插件 下载插件:https://chrome.google.com/web... 这样直接run一个vue项目,你就会看见插件标亮了 打开调试模式,你就会看见最后有个vue标记,打开 ...

  2. JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)

    前言:转眼距离上篇 JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查) 已有好几个月了,今天打算将它捡起来,发现好久不用,Vue相关技术点都生疏不少.经过这几个月的时间,Vue ...

  3. 前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)

    一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 虽然没有完全遵循 ...

  4. Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖

    1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...

  5. 前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令

    一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会 ...

  6. Vue.js 2.x笔记:路由Vue Router(6)

    1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Rout ...

  7. chrome调试vue.js的插件:vue.js devtools

    1.什么是vue.js devtools? vue.js devtools是chrome的一款插件,用来调试vue的一款神器. 2.为什么下载vue.js devtools? 由于vue是数据驱动的, ...

  8. [vue]mvc模式和mvvm模式及vue学习思路(废弃)

    好久不写东西了,感觉收生疏了, 学习使用以思路为主, 记录笔记为辅作用. v-if: http://www.cnblogs.com/iiiiiher/p/9025532.html v-show tem ...

  9. Vue学习【第一篇】:Vue初识与指令

    什么是Vue 什么是Vue Vue.js是一个渐进式JavaScript框架它是构建用户界面的JavaScript框架(让它自动生成js,css,html等) 渐进式:vue从小到控制页面中的一个变量 ...

随机推荐

  1. RabbitMQ windows本地安装

    1: 安装RabbitMQ需要先安装Erlang语言开发包.下载地址 http://www.erlang.org/download.html 配置环境变量 ERLANG_HOME C:\Program ...

  2. 【SAP业务模式】之STO(一):业务背景和前台操作

    所谓STO即两个关联公司之间的库存转储交易,一家公司发出采购订单向另一家公司做采购,然后在做发货.如此之后,两家公司有相应应收应付的票据,以及开票和发票校验等动作. STO分为一步法与两步法,因为一步 ...

  3. happyChat开发系列:使用websocket.io实现双向通信的乐聊大前端开发

    一.前言 乐聊是一个自己用websocket写一个完整的应用,虽然功能比较欠缺,但是实现了基本的文字聊天,以及群聊,私聊,机器人聊天等功能.因为这个自己做了PC端,无线端(手机端),以及使用cordo ...

  4. html5中的indexDB

    1.关系型数据库和非关系型数据库 一致性: 事务完成时,必须让所有的数据具有一致的状态,例如要写入100个数据,前99个成功了,结果第100个不合法,此时事务会回滚到最初状态.这样保证事务结束和开始时 ...

  5. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...

  6. Java KeyStore 用命令生成keystore文件

    1.生成keyStore文件 在命令行下执行以下命令: Shell代码 收藏代码 keytool -genkey -validity 36000 -alias www.zlex.org -keyalg ...

  7. CSS消除button标签的默认样式

    button{ /*消除button的默认样式*/ /*这种写法是对所有的button标签同时生效*/ margin: 0px; padding: 0px; /*自定义边框*/ border: 0px ...

  8. Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{...

    转载请标明出处:https://www.cnblogs.com/tangZH/p/10764568.html 在做多渠道打包的时候出现了这个错误,在高版本的gradle出现. 具体错误为:Cannot ...

  9. lombok的安装

    Lombok简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法.官方地址:https:/ ...

  10. 使用kubeadm平滑地升级kubenetes集群(v1.10.2到v1.10.3)

    写在前面 kubernetes是目前最炙手火热的容器管理.调度.编排平台,不仅拥有全面的生态系统,而且还开源.开放自治,谁贡献的多,谁的话语权就大,云提供商都有专门的工程师来从事kubernetes开 ...