关于Mpvue的简单介绍以及开发时踩到的一些坑

1.介绍

        mpvue是一套定位于开发小程序的前端开发框架,其核心目标是提高开发效率,增强开发体验。使用该框架,开发者只需初步了解小程序开发规范、熟悉 Vue.js基本语法即可上手。框架提供了完整的 Vue.js 开发体验,开发者编写 Vue.js 代码,mpvue 将其解析转换为小程序并确保其正确运行。此外,框架还通过vue-cli 工具向开发者提供 quick start 示例代码,开发者只需执行一条简单命令,即可获得可运行的项目。

2.安装 mpvue

        # 全局安装 

        vue-cli$ npm install --global vue-cli

        # 创建一个基于 mpvue-quickstart 模板的新项目

        $ vue init mpvue/mpvue-quickstart my-project

        # 安装依赖

        $ cd my-project

        $ npm install

        # 启动构建$ npm run dev

        但安装预览的时候,不是用浏览器打开输入:localhost:8080。而是打开微信开发者工具,把项目根目录导入进去。


3.mpvue特性

        彻底的组件化开发能力:提高代码

        完整的 Vue.js 开发体验

        方便的 Vuex

         数据管理方案:方便构建复杂应用

        快捷的 webpack构建机制:自定义构建策略、开发阶段 hotReload

        支持使用 npm 外部依赖

        使用 Vue.js 命令行工具

        vue-cli 快速初始化项目

        H5代码转换编译成小程序目标代码的能力

       支持小程序的原生组件,比如: picker,map 等,需要注意的是原生组件上的事件绑定,需要以 vue 的事件绑定语法来绑定


4.对于vue的支持

        不支持ElmentUI和Vue-router

        不支持纯 HTML,小程序里所有的 BOM/DOM 都不能用,也就是说 v-html 指令不能用。

        不支持部分复杂的 JavaScript 渲染表达式

        不支持过滤器

        不支持在 template 内使用 methods 中的函数。

        暂不支持在组件上使用 Class 与 Style 绑定


5.对于mpvue的踩坑

        eslint连vue和js后缀文件都有严格校验

                找到build目录的webpack.base.conf.js把器rule注释掉。

                 // {

                        //   test: /\.(js|vue)$/,

                        //   loader: 'eslint-loader',

                        //   enforce: 'pre',

                       //   include: [resolve('src'),

                       resolve('test')],

                      //   options: {

                      //     formatter:

                            require('eslint-friendly-formatter')

                      //   }

              // },

相对路径的图片不显示。

       解决是:把路径import进来,或者是把图片放在static目录下引用,然而作为css background-image引用时,只能选择引用远程图片,或者相对目录小于8k(webpck配置有关)的图片,不然编译器会报错

新增页面有时没反应。

        因为 webpack 编译的文件使用配置的 entry决定的,新增的页面并没用添加进 entry,所以需要手动 npm run dev 一下

基于mpvue使用axios

        通过webpack别名(alias)将axios指向axios/dist/axios,如下

        alias: {

                'vue': 'mpvue',

                'axios':'axios/dist/axios',

                '@': resolve('src')

        }

        小程序环境和浏览器不一致导致的,不过别慌,我们可以写adapter

        axios.defaults.adapter = function (config) {

                return new Promise((resolve, reject) => {

                        console.log(config)

                        // TODO wx.request(...)

                })

        }

更多的关于mpvue的坑可以查看如下博客

http://www.poorren.com/mpvue-mini-program-ajax-axios

http://www.bslxx.com/m/view.php?aid=1824

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 姓名:陈权 公司:青柠养车 【知~学习】 《六项精进》大纲55遍 共88遍 《经营与会计》音频打卡第6天 《轻课口...
    水青柠阅读 202评论 0 0
  • 昨晚,自己也思考了下,首先关于成熟我的想法是,在家人亲戚兄弟好友之间,就可以显示的自己多么不成熟,多么幼稚,多...
    只若初见N阅读 366评论 0 0
  • 问题总结: 一、时间浪费情况非常严重 近40%的时间几乎浪费掉了 一周7天,时间浪费主要集中出现在周四、周五、周六...
    玄德老师阅读 515评论 0 0
  • 除夕夜。团圆宴。欢声笑语真难忘。德平给大家拜年了。
    bdec4e2f6612阅读 502评论 3 51
  • 黄檗希运禅师,系曹溪六祖之谪孙。黄檗禅师生得气貌奇特,迥异常儿,额间隆起如肉珠,音辞朗润,志意冲澹,倜傥不羁,人莫...
    普贤师果贤妙义阅读 2,216评论 0 0

友情链接更多精彩内容