Uni-App

uni-app: 如何高效开发?

前言

本文主要是讲解Uni-App开发技巧,如何快速的撸码?如何调试Uni-App?通过本文,让小伙伴们开发出优秀的Uni-App。

uni-app: 如何高效开发uni app?

代码模板快速生成代码块

HBuilderX和VS Code、Sublime Text一样,都可以代码模板来快速生成代码。而HBuilderX代码块分为Tag代码块、JS代码块,如在 script 标签内输入 uShowToast 回车,会自动生成如下代码:

uni.showToast({
    title: '',
    mask: false
    duration: 1500
});

在template模板中,输入uCheckbox 回车,会自动生成如下代码:

<label>
    <checkbox :value="" /><text></text>
</label>

下面我们来看看有HBuilderX提供哪些内置Tag代码块和JS代码块。

Tag代码块

uButton

uCheckbox

uGrid:宫格,需引用uni ui

uList:列表,需引用uni ui

uListMedia

uRadio

uSwiper

...

几乎各种组件不管是内置组件还是uni ui的组件,均已封装为代码块,在HBuilderX的vue代码template区域中敲u,代码助手会提示10个代码块列表,如果没有,需要输入更详细的关键字。也可在HBuilderX菜单工具-代码块设置-vue代码块的左侧列表查阅所有。

下面输入us,查看uSwiper代码块:
uni-app: 如何高效开发uni app?

除组件外,其他常用代码块包括:

viewfor:生成一段带有v-for循环结构的视图代码块
vbase:生成一段基本的vue代码结构

uni-app: 如何高效开发uni app?

JS代码块

1、uRequest 请求代码模板

    uni.request({
    url: '',
    method: 'GET',
    data: {},
    success: res => {},
    fail: () => {},
    complete: () => {}
});

2、uGetLocation 获取定位代码模板

uni.getLocation({
    type: 'wgs84',
    success: res => {}
    fail: () => {},
    complete: () => {}
});

3、uShowToast 提示框代码模板

4、uShowLoading 显示loading代码模板

5、uHideLoading 隐藏loading代码模板

6、uShowModal 显示模态弹框代码模板

7、uShowActionSheet 显示操作菜单代码模板

8、uNavigateTo

9、uNavigateBack

10、uRedirectTo

11、uStartPullDownRefresh

12、uStopPullDownRefresh

13、uLogin

14、uShare

15、uPay

......

其他代码模板

1、vImport:导入文件

2、ed:export default

3、vData:输出 data(){return{}}

4、vMethod:输出 methods:{}

5、vComponents:输出 components: {}

6、ifios:iOS的平台判断

7、ifAndroid:Android的平台判断

8、iff:简单if

9、forr:for循环结构体

10、fori:for循环结构体并包含i

11、funn:函数

12、funa:匿名函数

13、rt:return true

14、clog:输出:"console.log()"

15、clogvar:增强的日志输出,可同时把变量的名字打印出来

16、varcw:输出:"var currentWebview = this.$mp.page.$getAppWebview()"

当然,如果预置代码块不满足需求的话,可以自定义代码块

自定义代码块

点菜单-工具-代码块设置,选择你要查看的语言的代码块。

uni-app: 如何高效开发uni app?

打开的界面中,左侧即是预置的代码块,右侧是开发者可以自己扩展代码块的地方。

uni-app: 如何高效开发uni app?

掌握这些代码块,开发快的不止一点点哦。

如何调试uni app

Chrome 调试 H5

uni-app H5调试,就和我们平常调试网页一样哦,进入 uni-app 项目,点击工具栏的运行 -> 运行到浏览器 -> 选择 ChromeF12开始调试。需要注意:Chrome调试只能保证样式一致,部分原生能力是不支持的,比如获取定位,支付等。如果不是使用HBuilderX内置浏览器调试,网络请求也是不能跨域的哦,而内置浏览器是允许跨域的,同时内置浏览器也能模拟获取定位,不过都是北京市的定位。

uni-app: 如何高效开发uni app?

小程序开发工具调试

uni-app 运行到微信web开发者工具等小程序开发工具里,可在这些工具的控制台查看 console 信息,网络请求等信息等。

页面样式调试和一般的web项目一样,通过调试的箭头选中元素即可查看相应的节点和样式,如下图:

uni-app: 如何高效开发uni app?

调试 js 时需要切换到 Sources 栏,选中想要调试的那个页面的js,进行调试(如果js代码是压缩过的,点击右下角的{}可格式化代码),如下图:

uni-app: 如何高效开发uni app?

App调试

在HBuilderX的运行菜单里运行App,手机端的错误或console.log日志信息会直接打印到控制台。

但是需要更多功能,比如审查元素、打断点debug,则需要启动调试模式。自 HBuilderX 2.0.3+ 版本起开始支持 App 端的调试。

在 HBuilderX 中,正确运行项目: 运行 --> 运行到手机或模拟器 --> 选择设备,项目启动后,在下方的控制台选择 debug 图标:

uni-app: 如何高效开发uni app?

正确打开调试窗口后,显示如下:

uni-app: 如何高效开发uni app?

Elements 主要显示当前页面的组织结构,目前Elements只支持nvue。

在调试窗口控制台的 Sources 栏,可以给 js 打断点调试。

uni-app: 如何高效开发uni app?

之后,在设备上进行操作,进入断点位置,可以方便我们跟踪调试代码。

提示

debug仅支持自定义组件模式。如果是非自定义组件模式,请在manifest里配置选为自定义组件模式。非自定义组件模式即将停止支持,

vue 和 nvue 页面均支持断点调试

目前仅支持 nvue 页面审查元素,vue 页面暂不支持,以及 Android 平台的 nvue 审查元素暂不支持查看 style

App端提供真机运行的console.log日志输出,运行到真机或模拟器时,不用点debug按钮,运行手机App,会在HBuilderX的控制台直接输出日志。

如果是调试App的界面和常规API,推荐编译到H5端,点HBuilderX右上角的预览,在内置浏览器里调Dom,保存后立即看到结果,调试更方便。并且H5端也支持titleNView的各种复杂设置。唯一要注意的就是css兼容性,使用太新的css在pc上预览可能正常,但低端Android上异常,具体可查询caniuse等网站。
常用的开发模式就是pc上使用内置浏览器预览调dom,运行到真机上看console.log。如果是很复杂的问题才使用debug。

vue页面也可以在微信开发者工具里调试,除了plus API,其他是一样的,微信开发者工具的查看Dom和网络和存储等调试工具相对而言更完善些。 注意:即使不发布微信小程序、只发布App,也需要安装微信开发者工具。

uni-app的App端没有5+App那种webkit remote debug,因为uni-app的js不是运行在webview里,而是独立的jscore里。

部分manifest配置,如三方sdk配置,需要打包后生效的,可以打包一个自定义运行基座。打包自定义基座后运行这个自定义基座,同样可以真机运行和debug。打包正式包将无法真机运行和debug。

总结

本文主要是讲讲Uni App开发技巧,快速撸码技巧和调试技巧,掌握这2点,相信你可以开发出优秀的Uni App。

最后,谢谢大家支持。

(1)

本文由 Web秀 作者:Javan 发表,转载请注明来源!

热评文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注