前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue Cli3使用

Vue Cli3使用

作者头像
码客说
发布2019-10-22 17:12:46
5630
发布2019-10-22 17:12:46
举报
文章被收录于专栏:码客码客码客

安装

卸载旧版本

npm uninstall vue-cli -g
# OR 
yarn global remove vue-cli

安装新版本

npm install -g @vue/cli
# OR
yarn global add @vue/cli

检查其版本是否正确 (3.x)

vue --version

创建项目

使用控制台创建

vue create hello-world

使用图形化界面创建

vue ui

拉取 2.x 模板 (旧版本)

Vue CLI 3 和旧版使用了相同的 vue 命令,所以 Vue CLI 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具:

npm install -g @vue/cli-init
# `vue init` 的运行效果将会跟 `vue-cli@2.x` 相同
vue init webpack my-project

运行项目

npm run serve

Invalid Host/Origin header

运行项目后 在浏览器的控制台报错Invalid Host/Origin header

解决方法:

在项目的根目录新建一个vue.config.js文件

module.exports = {
    devServer: {
        disableHostCheck: true, //  新增该配置项
    }
}

用户的配置文件会和默认的配置文件合并 所以不用担心系统默认配置要再配置一遍

HTTP请求

安装

npm install --save axios vue-axios

main.js中添加

import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'

Vue.use(VueAxios, 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)
})

其实 上面的就相当于

安装

npm install --save axios

main.js中添加

import axios from 'axios'

Vue.prototype.axios = axios;

然后页面中就可以这样请求

Vue.axios.get(api).then((response) => {
  console.log(response.data)
})

跨域访问

在项目的根目录新建一个vue.config.js文件

module.exports = {
    devServer: {
        disableHostCheck: true, //  新增该配置项
        proxy: {
            '/psvmc': {
                target: 'http://www.psvmc.cn',   //代理接口
                changeOrigin: true,
                pathRewrite: {
                    '^/psvmc': ''    //代理的路径
                }
            }
        }

    }
};

假如我们请求这样写

this.axios
    .get('/psvmc/userlist.json')
    .then(function (data) {
        console.info(data);
    })

就能在本地请求到http://www.psvmc.cn/userlist.json

Cookies

用VueX来缓存登录用户的时候,如果页面刷新后,VueX的缓存也会清空 ,所以我们还得用Cookie来保存

安装

npm install vue-cookies --save

配置

import Vue from "vue";
import VueCookies from 'vue-cookies'

Vue.use(VueCookies);

Vue.prototype.$mycookie = {
    addcookie: function (key, value) {
        var host = window.location.host;
        if (host.indexOf("xhkjedu") !== -1) {
            window.$cookies.set(key, value, '7d', '/', '.xhkjedu.com', false);
        } else {
            window.$cookies.set(key, value, '7d', '/');
        }
    },
    delcookie: function (key) {
        window.$cookies.remove(key);
    },
    getcookie: function (key) {
        return window.$cookies.get(key);
    }
};

使用

this.$mycookie.addcookie("loginuser",JSON.stringify(data.obj));

我这里封装是为了设置开发和上线后的域不同,所以封装了一下

修复eslint代码

npm run lint --fix
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 创建项目
    • 使用控制台创建
      • 使用图形化界面创建
        • 拉取 2.x 模板 (旧版本)
        • 运行项目
          • Invalid Host/Origin header
          • HTTP请求
          • 跨域访问
          • Cookies
          • 修复eslint代码
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档