• vue项目配置及代理解决跨域


    axios数据请求

    1.下载模块:npm install axios

    2.axios特点:

    1.支持在浏览器当中发起XMLHttpRequest请求

    2.支持Promise

    3.自动转换json数据

    4.安全,保护面首XSRF攻击

    3.实现。

    (1)视图页面

    <script>
    // 在程序加载页面开始渲染的时候调用
      mounted() {
        console.log('-------')
     this.axios.get('/xiaodouyu/api/RoomApi/live').then(function(data){
          console.log(data)
        },function(err){
          console.log(err)
        })
      }
    </script>
    

    (2)主函数main.js

    import axios from 'axios'
    // 原型对象
    Vue.prototype.axios = axios
    

    4.配套的解决跨域的方法

    在项目下创建一个vue.config.js文件,里面内容如下:

    module.exports = {
        configureWebpack:{
            devServer:{
                proxy:{   //低版本用proxyTable
                    '/xiaodouyu':{
                        // 目标
                        target:"http://open.douyucdn.cn",
                        // 改变请求源
                        chaneOrigin:true ,
                        // 路径重写
                        pathRewrite:{
                            '^/xiaodouyu':''
                        }
                    }
                }
            }
        }
    }
    

    斗鱼小项目

    1.斗鱼项目配置

    在项目下创建vue.config.js文件

    modules.exports = {
        
        //关闭代码检查
        lintOnSave:false,
        
        configureWebpack:{
            devServer:{
                proxy:{
                    '/douyu':{
                       target:"http://open.douyucdn.cn",
                        changeOrigin:true,
                        pathRewrite:{
                            '^/douyu':""
                        }
                    }
                }
            }
        }
    }
    

    2.组件作用域

    <style scoped>
    	//scoped 作用域,使该组件所有css样式仅在本组件有效
    </style>
    

    3.组件混入

    import share from '../share.js'
        export default {
            //混入
            mixins:[share]
        }
    

    4.插槽

    组件标签中间写的通通放入插槽<slot></slot>

    <vue-first>首页</vue-first>
    

    5.在线人数过滤

    <span v-text="$options.filters.onlineNumber(roomInfo.online)"></span>
    <script>
    export default {
            filters:{
                onlineNumber:function(oldValue){
                    if(oldValue < 10000){
                        return oldValue;
                    }
                    var newValue = (oldValue / 10000).toFixed(1) + "万";
                    return newValue;
                }
            }
        }
    </script>
    

    生鲜项目

    1.vux所需模块下载

    vue init webpack 项目名
    npm install vux --save
    npm install vux-loader --save
    npm install vue-style-loader
    npm install css-loader
    npm install less-loader
    npm install less
    
  • 相关阅读:
    Unicode与JavaScript详解 [很好的文章转]
    4种方法生成二维码 (js 控制canvas 画出 二维码)
    JQuery-Dialog(弹出窗口,遮蔽窗口)
    JQuery实现可编辑的表格
    7个提高效率的JavaScript调试工具
    jQuery中的编程范式
    10款CSS3按钮
    jQuery(function(){})与(function(){})(jQuery)的区别
    JQuery之ContextMenu(右键菜单)
    糟糕的css用法 1
  • 原文地址:https://www.cnblogs.com/kerin/p/13499045.html
Copyright © 2020-2023  润新知