博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录一下,使用vue进行微信开发遇到的问题
阅读量:7249 次
发布时间:2019-06-29

本文共 1847 字,大约阅读时间需要 6 分钟。

最近使用vue进行微信开发了两个项目,遇到很多问题和新的知识点,记录一下。

选型

  • 首先,搭建使用vue-cli脚手架,基本能满足业务需求,而且底子start数多,bug少;
  • ui用vux,结合了微信风格,组件众多;
  • 接口用vue推荐的axios,做了一下封装。

vue-cli改造

css预处理用sass,vue-cli已经配置了sass,只需安装sass-loader、node-sass模块即可:

npm i sass-loader node-sass --save-dev

在组件里使用sass:

配置vux和vux-loader,首先安装:

npm i vux vux-loader --save-dev

请在build/webpack.base.conf.js里参照如下代码进行配置:

const vuxLoader = require('vux-loader')const webpackConfig = originalConfig // 原来的 module.exports 代码赋值给变量 webpackConfigmodule.exports = vuxLoader.merge(webpackConfig, {  plugins: ['vux-ui']})

安装less-loader以正确编译less源码:

npm i less less-loader --save-dev

全局变量设置

在根目录新建config.js文件:

//全局变量export default {  install(Vue,options) {    Vue.prototype.URL = {          BASE: 'www.baidu.com',    },    Vue.prototype.WX = {          appId: '123456'    }  }}

在根目录的main.js里面设置config.js暴露给Vue对象:

import config from './config'Vue.use(config);

在组件里就很方便的使用啦:

created(){    console.log(this.URL.BASE); //www.baidu.com    console.log(this.WX.appId); //123456}

全局函数设置

全局函数和全局变量同理,在根目录新建util/common.js文件:

//全局函数方法export default {  install(Vue,options) {    /**    *  获取url后面的参数    */    Vue.prototype.getUrlParams = (name) => {      var _reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"),          _regNext = window.location.search.substr(1).match(_reg);      if (_regNext != null) return decodeURI(_regNext[2]) || '';      else return '';    },  }}

在根目录的main.js里面设置common.js暴露给Vue对象:

import util from './util/common'Vue.use(util);

在组件里使用:

created(){    this.getUrlParams('id');}

axios封装

axios安装:

npm i axios qs --save-dev//qs是一个序列化模块

在根目录新建fetch/api.js,引入相关模块并设置全局方法:

import axios from 'axios'import qs from 'qs'// axios 配置axios.defaults.timeout = 5000;axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';axios.defaults.baseURL = 'http://api.baidu.cn/'; //你的接口地址

未完待续...

转载地址:http://omhbm.baihongyu.com/

你可能感兴趣的文章
关于设计模式
查看>>
对一个“老”架构的重新思考
查看>>
DoubanFMPlayer, A mimic of Douban.fm player
查看>>
埃森哲、亚马逊和万事达卡抱团推出的区块链项目有何神通?
查看>>
2019年自动驾驶5大趋势预测:第一台Level 5 无人车问世
查看>>
后APP时代的破局之路 :阿里技术“三大容器五大方案”亮相,百川开放全面升级...
查看>>
工欲善其事-必先利其器之终端
查看>>
64位的Mac OS X也有Windows.Forms了
查看>>
立下“去O”Flag的AWS,悄悄修炼了哪些内功?
查看>>
Better Software East/DevOps East/Agile Dev East 2016大会上的教程介绍
查看>>
优酷在多模态内容理解上的研究及应用
查看>>
JavaScript学习笔记整理:对象篇
查看>>
GitHub的bug赏金计划升级:奖金提高到3万美元以上
查看>>
中国法院裁定:禁售部分型号苹果手机
查看>>
使用实体框架、Dapper和Chain的仓储模式实现策略
查看>>
HTTP/2推送之难,远超想象
查看>>
与Bob McWhirter的问答:WildFly Swarm更名为Thorntail项目
查看>>
新书问答:Agile Management
查看>>
在sublime中实现代码检测
查看>>
活在伟大的Scrum团队是什么感觉
查看>>