Taro

《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记1)WePY开发环境的安装

折月煮酒 提交于 2019-12-15 20:18:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> WePY的安装或更新都通过npm进行,全局安装或更新WePY命令行工具,使用以下命令: npm install wepy-cli -g 稍等片刻,成功安装后,即可创建WePY项目。 注意:如果npm安装时间过长或者是连接超时而导致的失败,则可以使用国内的镜像源,这里推荐一个稳定的源,来自淘宝。网站地址为http://npm.taobao.org/,可以使用淘宝定制的cnpm(gzip压缩支持)命令行工具代替默认的npm: $ npm install -g cnpm --registry=https://registry.npm.taobao.org 安装好环境后,再找一个良好的编写代码的IDE环境。这里强烈推荐来自JetBrains系列的WebStorm最新版本,它已经完美支持了Vue.js的开发以及ESLint的语法形式,所以编写代码非常顺畅和方便,其编写代码的页面如图1-26所示。 图1-26 编辑器界面 同样,在WebStorm中使用Alt+F12键可以唤起内置的命令行,这对于需要编译的WePY而言,也无需每次使用cd命令进入项目文件这样方便得多。 微信小程序的结构化开发方法,少走弯路,高效开发,一起来学习《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》吧。 来源:

微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记4)支持React.js语法的Taro框架

大兔子大兔子 提交于 2019-12-15 20:18:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Taro本身实现的情况类似于mpvue,mpvue的未来展望中也包含了支付宝小程序,现在的版本中,也可以使用不同的构建命令来构建出百度小程序的支持,如第10章所示,但是现在Taro先于mpvue实现了更多更好的“一端开发,多端编译”开发方式。 Taro的编写代码方式和mpvue、WePY框架最大的一个差别就是,Taro并不是基于Vue.js的语法规范,而是遵循React语法规范,它采用与React一致的组件化思想,组件生命周期与React保持一致,同时支持JSX语法,让代码具有更丰富的表现力,使用Taro进行开发可以获得和React一致的开发体验。 采用Taro开发小程序具有以下的优秀特效: 支持使用npm/yarn安装管理第三方依赖 支持使用ES7/ES8甚至更新的ES规范,一切都可自行配置 支持使用CSS预编译器,例如Sass等 支持使用Redux进行状态管理 支持使用Mobx进行状态管理 小程序API优化,异步API Promise化等等 和mpvue、WePY项目一致,使用Taro开发项目,首先也要安装合适的npm和Node.js环境。 (1)Taro项目的开发需要安装专用的Taro开发工具@tarojs/cli,可以使用如下命令全局安装,安装效果如图11-2所示。 npm install -g

《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记3)支持Vue.js语法的mpvue框架

帅比萌擦擦* 提交于 2019-12-15 20:07:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在安装本框架的基础必须安装合适的Node.js和可以运行的npm包,安装过程本书前面已经提到过,不再赘述。 (1)保证npm和Node.js的可用性后,使用如下代码安装Vue.js环境。 # 全局安装 vue-cli # 如果是Linux或者Unix等一般是要 sudo 权限的 npm install --global vue-cli@2.9 在Windows中使用CMD安装环境,安装效果如图10-1所示。 图10-1 Vue.js安装 (2)等待安装完成后,如果没有出现错误提示,即成功安装了vue环境,可以在CMD中输入vue,效果如图10-2所示,即已经成功安装,接下来就可以构建应用了。 图10-2 vue安装成功 (3)mpvue使用vue-cli构建工具,其中使用了一个vue模板,此模板用来支持mpvue的项目小程序的生成,使用如下代码可以新建一个mpvue的工程。 # 创建一个基于 mpvue-quickstart 模板的新项目 vue init mpvue/mpvue-quickstart “项目名称” 生成的过程和配置命名等如图10-3所示,这样就生成了一个没有编写代码的空白mpvue工程。 图10-3 新建mpvue工程 (4)等待工程创建完成,编辑器也自动下载生成了相关的代码文件,如图10

99%的程序都没有考虑的网络异常?使用Fundebug.notify()主动上报

人走茶凉 提交于 2019-12-04 09:08:19
近日看到一篇文章 99%的程序都没有考虑的网络异常 ,开篇提到: > 绝大多数程序只考虑了接口正常工作的场景,而用户在使用我们的产品时遇到的各类异常,全都丢在看似 ok 的 try catch 中。如果没有做好异常的兼容和兜底处理,会极大的影响用户体验,严重的还会带来安全和资损风险。 于是,笔者分析了 GitHub 上的一些开源微信小程序,发现大多数的代码异常处理确实是不够的。 登录接口只考虑成功的情况,没考虑失败的情况 //调用登录接口 wx.login({ success: function() { wx.getUserInfo({ success: function(res) { that.globalData.userInfo = res.userInfo; typeof cb == "function" && cb(that.globalData.userInfo); } }); } }); 网络请求只考虑 then 不考虑 catch util.getData(index_api).then(function(data) { //this.setData({ // //}); console.log(data); }); 考虑了异常情况但是没有做妥善的处理 db.collection("config") .where({}) .get() .then(res => {

Taro H5端跨域问题和小程序sessionId丢失的问题

不羁的心 提交于 2019-11-30 13:33:25
更改config/dev.js const isH5 = process.env.CLIENT_ENV === 'h5' // 你自己的请求域名 const HOST = '"http://10.2.152.176:8088"'; module.exports = { env: { NODE_ENV: '"development"' }, defineConstants: { HOST: isH5 ? '"/api"' : JSON.parse(HOST) }, weapp: {}, h5: { devServer: { // 设置代理来解决 H5 请求的跨域问题 proxy: { '/': { target: JSON.parse(HOST), pathRewrite: { '^/': '/' }, changeOrigin: true }, } } } } request请求的时候以 /api开头 就可以解决该问题了。 2、小程序sessionId丢失问题: 1、判断自己的环境,设置cookie。 2、在返回的时候 设置cookie 来源: https://my.oschina.net/u/2436852/blog/3111538

做了2年程序开发,如何才能走出“低薪事多”的打杂阶段?

大憨熊 提交于 2019-11-30 07:58:30
转眼,2019年已经过去一大半了。 这半年,你过得怎么样?新的热点技术学会了吗?写的代码还有bug吗?头发还好吗?还记得年初的Flag吗? 你是不是想大喊:我学不动了? 成年人的世界没有“容易”二字,你学不动,别人学得动,你只能靠边站。 引用张爱玲的一句话:中年以后的男人,时常会觉得很孤独,因为他一睁开眼,周围都是要依靠他的人,却没有他可以依靠的人。 开发技术路漫漫,成长的曲线非常的陡峭。 如果你想跟上前端高速发展的时代,如果你也想月薪3万不是终点,是起点,如果你也想做点改变,真的不妨平日多看一些书籍,多给自己充充电,全方位提升一下自己的专业知识。 这次给大家推荐的2本书,都是小程序公社精心挑选出来的,本本都是好书,并且都是 免费送给大家,最重要的是还包邮! 书籍介绍 一、《了不起的Java工程师》从前端到全端的高级进阶 《了不起的Java工程师》是一本涉及面非常广的书籍,将让你了解到前端开发需要连接的各种技术,了解Java在各种Web开发场景下所需要掌握的重点知识和概念。从zui基础的开发工具讲起,再到开发思维方式和前端页面开发,然后扩展到小程序开发和开发工具的混合应用,再讲解前后端交互zui常用的网络协议及API设计,zui后讲解了使用Node.js开发服务器端应用程序所需要掌握的核心概念。 二、《微信小程序项目开发实战——用WePY、mpvue、Taro打造高效的小程序》

图片上传转base64

我的梦境 提交于 2019-11-29 09:40:37
做的过程中本来想用taro-ui里的那个图片上传,但是样式想自定义没搞定,结果后来就用Taro.chooseImage了。h5模式返回的是一个blob对象,然后自己转成base64了。微信小程序自己有方法。原来想用multipart的方式,奈何后端要求一次性要把所有的参数上送,直接上送是blob:http//xxxxx最后只好约定前端转成base64上送了。 jsx: <View className='flex-center real-card-container mt60' onClick={ this.uploadCard.bind(this,'fileJust') }> <Image className='real-card-img' src={require('../../assets/images/cardR.png')}></Image> <Text className='real-card-title'>请拍摄有人像的一面</Text> </View> js: uploadCard(fileType){ let _this = this; Taro.chooseImage({ count: 1,// 默认9 sizeType: ['original', 'compressed'],// 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album',

Taro 兼容 h5 踩坑指南

自古美人都是妖i 提交于 2019-11-27 21:49:59
最近一周在做 Taro 适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 解决跨域问题 h5 发请求会报跨域问题,需要使用代理转换请求。 编辑根目录下的 config/index.js 文件 h5: { devServer: { host: 'localhost', port: 10086, proxy: { '/api/v1': { target: 'http://localhost:8000', // 服务端地址 changeOrigin: true } } }, } 代理前的请求: http://localhost:10086/api/v1/user 代理后的请求: http://localhost:8000/api/v1/user 样式单位 小程序里规定 1px = 2rpx,Taro 对于像素(px)有一套自己的规则。 在 Taro 里可以写 rpx 作为单位。 Taro 代码转小程序代码:无缝转换为小程序单位; Taro 代码转 h5 代码:无法转换。 // taro height: 10rpx; // weapp height: 10rpx; // h5 // 无法转换单位 在 Taro 里写 px 作为单位。 Taro 代码转小程序代码:1px = 1rpx

基于Gulp微信小程序开发工作流,支持less样式编写,支持ESLint代码检查等功能

百般思念 提交于 2019-11-27 12:58:56
wx-miniprogram-boilerplate 基于Gulp构建的微信小程序开发工作流 链接: https://pan.baidu.com/s/1lwZ4nPRpubw33pEfbsQrlw 提取码: k54r 适用场景 目前开发微信小程序时,可选的技术方案大概有四种,分别是: 微信小程序原生开发 使用wepy框架 使用mpvue框架 使用taro框架 几种开发方案,各有优劣。使用第三方框架开发,可以享受框架带来的开发便利,但对于小程序新增的诸多特性和功能,比如 WXS模块 、 自定义组件 和 插件 等,受制于框架实现,无法使用。 而原生小程序的开发模式,又过于简陋,就样式来说,写惯了less,stylus和sass的同学一定无法忍受wxss的这种写法,基于此,决定使用 gulp 自动化工具来构建一套微信小程序开发的基础模板,在完全保留微信小程序功能和特性的基础上,又可以的使用 less 来写样式,同时加入图片压缩,命令行快速创建模板等特性,如此开发,快哉,快哉! 特性 基于 gulp+less 构建的微信小程序工程项目 项目图片自动压缩 ESLint代码检查 使用命令行快速创建 page 、 template 和 component 支持生产环境打包 Getting Started 0. 开始之前,请确保已经安装node和npm,全局安装gulp-cli $ npm