前端开发工作中可能会遇到的问题及解决方法

  • 一、uni-app小程序中xxx代码依赖分析忽略

  • 二、uni-app弹窗列表滚动, 弹框下面的内容也跟随滚动

  • 三、uni-app小程序正常自定义组件不生效

  • 四、uni-app popup 弹出层底部空隙问题

  • 五、uni-app小程序自定义导航栏后iOS页面可上下滑动问题解决方案

  • 六. uni-app中的分享二维码以及保存到相册

  • 七、vue运行时报错


一、uni-app小程序中xxx代码依赖分析忽略

新的任务发生了这个问题,一启动这个大红色看着十分碍眼,好在报错提示也给了解决办法,如下图所示

javascript 复制代码
"ignoreDevUnusedFiles": false,
    "ignoreUploadUnusedFiles": false,

二、uni-app弹窗列表滚动, 弹框下面的内容也跟随滚动

弹窗组件代码,需要在最外层的view中加入 @touchmove.stop.prevent="moveHandle",就可以解决这个问题了

三、uni-app小程序正常自定义组件不生效

这是一个离奇的问题,正常自定义组件在页面引入,注册,使用,但是编译后居然没有显示出来而且也没有报其他的错误,这到底是为什么呢, 我也不知道...... 这个hbuilder 肯定不能逮着我一个人坑对不对,查了下,别人也遇到了这个问题,

总结下来有以下大致两种解决方法

1.每次引用新建组件,把编译器关闭后再重启

2.新建组件后,再新建一个页面,重新编译(亲测有效),新建的组件就生效了,就是那么离奇

如果有更好的方法,欢迎提出,再不想用上方这两个蠢蠢的办法了

如图所示,我遇到的问题是底部弹出层有一个间隙的问题,我看了下应该是样式问题, 是它自带了一个padding-bottom,于是我看了源码,这个问题就解决了

解决方法:

首先找到Popup的源码

因为设置的是底部弹出层,就着重看关于底部弹出的样式

五、 uni-app小程序自定义导航栏后iOS页面可上下滑动问题解决方案

提起这个我就想,真好啊,又是一个长知识的机会!!!(内心真实想法---把用apple的人的都抓起来) ,在安卓就好好的,偏偏它就会出问题,请看以下问题:

问题描述:

在开发小程序的过程中,自定义了导航栏,但是发现在ios中页面整体可上下移动,造成体验极差。

解决方案:

"disableScroll":true,//ios禁止页面整体上下滑动

javascript 复制代码
 {
    "path": "home/index",
    "style": {
     "navigationStyle": "custom",//关闭原生导航栏
     "disableScroll":true,//ios禁止页面整体上下滑动
   }
 },

问题描述:

如下图所示:在安卓真机和开发着工具中都是正常,但是到了大苹果(我不用大苹果我还不知道它还能左滑滑右滑滑~~~)

这是一个样式问题,所以我们看下原本的页面样式代码;

解决方案:

当时我不知道这个问题是怎么回事,后来请教了同事后仔细想想其实这个问题也很好解决,

起初设置的宽度是100%,但是下方又设置了padding内边距, 而盒子宽度默认的计算方式是content-box,下图有详细解释

所以在对应的html页面结构中的父元素中,给它的样式加上这样一句,就可以解决了

六、uni-app中的分享二维码以及保存到相册

这个应该不算是一个难点,这是因为我之前没有做过,觉得很新鲜,所以分享在这里,要实现的功能呢长这个样子,以弹窗的形式出现用户可以选择转发给好友或者是保存相册后从相册转发

1.页面结构,因为是弹窗的形式所以选用了uni-popup

html 复制代码
<uni-popup ref="popup" animation mask-background-color="rgba(0,0,0,0.2)" @change="popChange">
			<view class="popup-container">
				<view class="inner">
					<view class="item" @click="sharePictrue">
						<text class="iconfont icon-fenxiangxiaochengxu" style="margin-right: 40rpx;"></text>
						<text class="text btn">转发给好友</text>
						<!-- <button size="mini" id="sharePictrue" style="border:none;" plain open-type="share" class="text btn">转发给好友</button> -->
						<text class="iconfont icon-xiangyou1" style="float:right"></text>
					</view>
					<view class="underline"></view>
					<view class="item" @click="saveToAlbum">
						<text class="iconfont icon-xiangcexuanze" style="margin-right: 40rpx;"></text>
						<text class="text">保存相册</text>
						<!-- <text class="iconfont icon-xiangyou1" style="float:right"></text> -->
					</view>
					<view class="underline"></view>
					<view class="cancel" @click="close">取消</view>
				</view>
			</view>
		</uni-popup>

2. js部分 ------保存相册

保存相册的前提是你有这个图片,(那之前肯定是要获取这个图片,例如通过调用接口获取图片)

uni.getFileSystemManager().writeFile 写文件

详解地址:FileSystemManager.writeFile(Object object) | 微信开放文档

uni.saveImageToPhotosAlbum 保存图片到系统相册

3. 分享二维码

wx.showShareImageMenu()

javascript 复制代码
sharePictrue() {
				wx.showShareImageMenu({
					path: '../../static/ph_fit_qrcode.png' ||
						this.qrsrc
				})
			},

七、vue运行时报错

拿到一个新任务,在终端按照readme 文件指示命令运行报错,如下图所示

1.报错原因:

node 版本过高------ 刚开始我默认安装的node是最新版的,而项目是老项目,我查了下,报错原因是node 版本过高导致的,在报错提示中也有着 node-sass 的身影,所以我查了之前安装的node-sass的版本

可以看到这个版本是4.14 版本的,于是打开 npm中文网 官网

解决方法:

在控制面板中卸载之前的node ,安装对应的node版本Node.js 中文网,找到对应的node版本下载,一路安装即可,可以cmd窗口查看是否安装成功,再次按照命令安装依赖包,启动就可以啦!

总结

以上呢,就是我今天要分享的内容,希望可以帮助到屏幕前的你,bye~

相关推荐
菜鸟阿康学习编程4 分钟前
JavaWeb 学习笔记 XML 和 Json 篇 | 020
xml·java·前端
索然无味io1 小时前
XML外部实体注入--漏洞利用
xml·前端·笔记·学习·web安全·网络安全·php
ThomasChan1231 小时前
Typescript 多个泛型参数详细解读
前端·javascript·vue.js·typescript·vue·reactjs·js
爱学习的狮王1 小时前
ubuntu18.04安装nvm管理本机node和npm
前端·npm·node.js·nvm
东锋1.31 小时前
使用 F12 查看 Network 及数据格式
前端
程序员徐师兄1 小时前
Java 基于 SpringBoot 的校园外卖点餐平台微信小程序(附源码,部署,文档)
java·spring boot·微信小程序·校园外卖点餐·外卖点餐小程序·校园外卖点餐小程序
zhanggongzichu1 小时前
npm常用命令
前端·npm·node.js
anyup_前端梦工厂2 小时前
从浏览器层面看前端性能:了解 Chrome 组件、多进程与多线程
前端·chrome
chengpei1472 小时前
chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确
java·前端·chrome·spring boot·json
我命由我123452 小时前
NPM 与 Node.js 版本兼容问题:npm warn cli npm does not support Node.js
前端·javascript·前端框架·npm·node.js·html5·js