最近有个项目要用到 uniapp 去开发跨端的小程序,在github上找了一个项目想看看人家源码,结果看到下面这行的时候就有点发懵。 Vue.prototype.StatusBar = e.statusBarHeight; Vue 我还算明白,prototype 是咋回事?应该是和原型相关的,之前也尝试理解过 JS 的原型链,不过每次总结的都比较零散,这次尝试系统的总 ...
最近有个项目要用到 uniapp 去开发跨端的小程序,在github上找了一个项目想看看人家源码,结果看到下面这行的时候就有点发懵。 Vue.prototype.StatusBar = e.statusBarHeight; Vue 我还算明白,prototype 是咋回事?应该是和原型相关的,之前也尝试理解过 JS 的原型链,不过每次总结的都比较零散,这次尝试系统的总 ...
最近在项目开发的时候遇到一个问题,就是在 flex 布局的时候,设置了 flex 元素高度的时候,发现高度设置完没有生效,需要设置 flex 元素的 flex-shrink 属性为 0 才能生效,这是为啥? 想要理解这个问题,需要理解下面这三个 flex 元素的属性 flex-grow:该元素获得(伸张)多少正可用空间(positive free space)? `flex-shr ...
目前流行的几种方式如 Object构造函数创建 代码如下,但是这种作为初学者,我似乎用不到这种定义方式 var person = new Object(); person.name = 'Jason’; person.age = 21; 通过字面量来创建对象 这个是最常见也最方便的定义对象的方式 var Person = { nam ...
JavaScript 开发业务的过程中肯定会引入很多第三方库,和别的语言类似,JS 也有一套引入第三方库的方式,即「模块」。 > 将代码拆分成独立的块,然后再把这些块连接起来可以通过模块模式来实现。这种模式背后的思想 很简单:把逻辑分块,各自封装,相互独立,每个块自行决定对外暴露什么,同时自行决定引入执行哪 些外部代码。不同的实现和特性让这些基本的概念变得有点复杂,但这个基本的思想是所有 Jav ...
在应用的一些不重要的界面(比如功能的使用说明页面)上使用 HTML 进行开发可以在不降低用户体验的基础上,加快开发效率。 这篇文章尝试介绍一些这方面的实践。 加载本地HTML 我们在本地创建好一个名为 index.html 的文件后,将文件拖入到 iOS 项目的 Xcode 工程中。 iOS 加载本地 HTML 的方式如下: let wkconfig = WKWe ...
客户端的项目不存在部署这个说法,一般打包生成 ipa 或者 apk 之后提交给商店,然后等待商店上架,用户就可以用手机在商店上下载到对应的应用了。 前端的项目一般最终都是以网页形式出现的(小程序有点特殊),那网页想要想要被用户看见的话,就需要放在一个云端的地方,这样所有人都能看见,这个云端的地方就是 Web 服务器。 Web 服务器最主要的功能就是托管前端项目构建后的静态资源文件,HTML、C ...
作为一个从客户端工程师,之前并没有接触过 Docker 这类工具只是听说过,现在做了一些前端项目之后发现很多前端项目是部署在 Docker 上的,于是给了学习 Docker 的契机,这篇文章就是初始 Docker 的一些过程和体会。 在 Docker 官网下载好对应的版本客户端版本,打开 Docker 客户端之后,会有默认的 Guide,这个 ...
今天在实现一个前端效果的时候才发现 CSS 的盒子模型并不是只有一种,而且之前对盒模型也没有太深入了解过,盒子模型其实 CSS 布局的基础,不了解盒子模型的花,那 CSS 布局过程中一定会踩到很多坑,遇到很多不明白的现象。 什么是盒子模型? 所谓盒子模型(Box Model)就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。整个 H5 页面就是由这些盒子模型组成的 ...
工程准备,因为前端项目是之前搭建好的,所以没什么前期准备工作。但是遇到一个问题就是编译 Vue 项目会报错,清空 node-modules 目录,以及 package-lock.json 文件之后,重新进行 npm install 之后,再运行 npm run dev 启动项目就好了。 开发 基础的体验部分没什么好说的,基本上就是 Vue 相关内容。我觉得相比微信小程序的开发,Vue ...
前几天做前端 Vue 项目的时候发现一个有意思的事情,就是当我要设置一个瀑布流样式的视图的时候,类似下面这种样式,我怎么设置一个信息组件(带文字的小图片)的宽度是屏幕宽度的一半呢?有前端经验的小伙伴会说直接用 50vw 啊?但是如果考虑到两边的间距(比如容器标签有padding设置)的话,50vw 的设置可能会让一行只能展示出一个组件(展示两个就超出屏幕宽度了),那怎么设置这个小的信息组件的宽 ...