为了账号安全,请及时绑定邮箱和手机立即绑定
2. 国际化

上述例子发现输出的结果是英文的,显然是不适合在国内环境使用,moment.js 提供了国际化支持,在现有的库中,moment 支持的语言可以说是相对完备了。通过引入对应的国际化资源(语言文件),来切换语言。<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/moment.min.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/locale/zh-cn.min.js"></script><script> var now = moment().calendar(); console.log(now);// 输出当前日历时间 moment().startOf('hour').fromNow(); // 相对这个小时过去了多少分钟 var timestamp = 1593933593236; // 2020年7曰5日下午15点20分38秒 moment(timestamp).fromNow(); // 相对时间戳多久前</script>有关国际化的更多内容可以参考文档。

3. 国际化

国际化的功能离不开错误码的支持,客户端指定语言到服务端去请求,当出错了服务端会根据错误码和语言找到对应的国际化提示语。从上面图中我们发现,错误码不仅仅是客户端与服务端的交互,后台各个服务间的交互也需要约定的一套错误码。一般一个系统的错误码 code 都是唯一确定的。msg 不同场景下可能不一样,提供给用户的肯定是需要友好且不能暴露底层细节,给开发人员看的就要详细专业的错误内容。网关服务上面维护着多套不同语言的错误码提示语,响应的时候会根据客户端带的 Lang 信息进行国际化转译。模块模块编码错误编码底层描述中文提示语英文提示语库存10001商品规格表关联有误商品不存在goods don’t exist一般国际化的系统中会有多份 xxx_lang.properties文件,每一份代表一种语言的消息提示语。中文一般会转为 Unicode 编码进行存储(这个过程一般开发工具可以设置自动转),这样的处理可以规避不同开发环境下不同编码导致中文乱码。

3.1 微信小程序 API

uni-app 的 API 与微信小程序 API 基本一致。掌握微信小程序 API 对后面的开发很有帮助。微信小程序 API 文档:https://developers.weixin.qq.com/miniprogram/dev/api/

1.1 下载 Dreamweaver

这个环节,大家可以去 Adobe 官网下载 Dreamweaver CC 2018 的安装包。不用担心,Adobe 公司并不像 Google 一样,在中国境内是可以流畅的访问 Adobe 公司的官网,并且下载他们的产品。

4.1 下载安装器

4.1.1 安装器下载页面说明点击 Download 64 bit,将进入安装器的下载页面:我们对页面中的相关信息做了 1 2 3 4 的标记,其中:点击该按钮将根据 2 和 3 的信息开始下载下载镜像的地址文件的类型(对应操作系统,会自动识别)选择其他镜像地址通常,为了避免下载速度过慢,从而导致下载失败的情况,我们会选择点击第 4 个选项 Select Another Mirror 来重新选择镜像地址。4.1.2 选择镜像地址开始下载点击 Select Another Mirror 后不会打开新页面,只是展开信息如下:一般选择 大连东软信息学院,这可以让我们在国内获得较好的下载速度。点击后,我们将看到如下信息:如无意外,已经开始自动下载了,如果没有,则点击图中的 click here 手动开始下载。现在,安装器的下载已经介绍完了,让我们看看压缩包的下载。

3.1 打包为微信小程序

注册微信小程序账号,获取到 AppID,我们后面配置的时候会用到。在 HBuilderX 工具栏,点击发行,选择小程序-微信。输入小程序名称和 AppID,单击发行就可以了。这样我们就会获得一个微信小程序的打包文件,接下来我们来发布微信小程序项目,打开微信小程序开发者工具,导入刚刚生成的微信小程序项目的打包文件,在微信小程序开发者工具中先测试一下,项目运行是否正常,项目测试没有问题后,点击右上角>>按钮,上传代码就可以发布微信小程序了,最后等待微信团队审核通过,别人就可以在线上访问到你的项目了。

2.2 mpvue 框架与 uni-app 框架性能对比

uni-app 框架的技术团队对比过 wepy/mpvue/taro/uni-app/原生小程序的性能,测试项目包括长列表加载、组件状态更新这两个比较容易出现性能问题的实例。最终得出的结论是 uni-app 性能更优,具体结果如下:微信原生开发手工优化,uni-app>微信原生开发未手工优化,taro > wepy > mpvue官网性能对比的文章:小程序开发:用原生还是选框架(wepy/mpvue/taro/uni-app)链接:https://ask.dcloud.net.cn/article/35947我们可以看到 uni-app 不管从开发维护还是项目性能来讲,都是更优的。还有很多其他的优点,比如:uni-app 项目支持在更多的平台上面发布上线、生态更加完善等,这些都是我们更建议选择 uni-app 框架的原因。下面我们来看看如果将mpvue 项目转换成 uni-app 项目吧。

3.1 下载工具

先来点开官方网址下载 HBuilderX 开发者工具,建议下载App开发版。HBuilderX:官方IDE下载地址

6.2 Google App Engine

Google App Engine 提供一整套开发组件来让用户轻松地在本地构建和调试网络应用,之后能让用户在Google强大的基础设施上部署和运行网络应用程序,并自动根据应用所承受的负载来对应用进行扩展,并免去用户对应用和服务器等的维护工作。同时提供大量的免费额度和灵活的资费标准。在开发语言方面,支持多种语言,包括Java 、Python、 PHP、 Go 与 Node.js等等。创建 Google App Engine 项目,事先需要下载 App Engine SDK, 在创建项目时需要指定SDK所在路径。Google App Engine 在国内使用是受限制的,需要用 gmail 帐户注册与验证,所以用的不多,这里不再过多介绍。有兴趣的同学可以参考官网。

4.2 下载压缩包

4.2.1 压缩包下载页面说明当我们选择第 2 种方式的时候,我们需要在下载页面中点击 Download Packages 选项。点击后,我们将进入压缩包下载页面:页面中需要关注的信息用红色框框了起来,并且标注了序号,其中:点击该选项我们将切换到 Eclipse 安装器的下载界面。仍然是 Eclipse 安装器的下载选项,这里可以让我们手动选择对应各个操作系统的安装器。这里显示的是我们即将下载的压缩包的名称,本Wiki中,我们将只关注两个。Eclipse IDE for Java Developers 是面向 Java 开发的 Eclipse IDE。Eclipse IDE for Enterprise Java Developers 这个就是我们的 Java 企业版。这里显示了我们可以下载的操作系统版本,注意,目前都只支持 64 位操作系统。现在,我们只需要选择我们对应操作系统的版本来进行下载就可以了。4.2.2 选择对应的操作系统版本进行下载三个操作系统版本的下载步骤都一致,我们将以 macOS 系统举例。在上一小节 4.2.1 中打开的压缩包下载页面上,如果我们需要下载对应 macOS 系统的 Eclipse IDE for Java Developers 压缩包,那么我们可以点击 Mac Cocoa 右边的 64-bit(注意点击的是 64-bit,如果你是 Windows,那么你需要点击的是 Windows 右边的 64-bit):点击后,我们将会打开一个新的页面:该页面的信息和 4.1.1 安装器下载页面说明 中的一样,此处不再赘述。4.2.3 选择镜像地址开始下载同样地,和安装器的下载一样,为了获得更好的下载速度从而避免下载失败的状况出现,我们将点击 Select Another Mirror 重新选择镜像的地址,然后也是选择国内速度较快的 大连东软信息学院:接着我们将看到如下信息:此时,压缩包将自动开始下载,如果没有,则点击图中的 click here 手动开始下载。至此,下载压缩包的介绍就结束了。

1.3 在腾讯软件中心下载

在国内访问 Python 官网的速度很慢,有时会出现无法打开的情况。大部分国内的下载站点提供的 Python 软件都有软件捆绑的现象。强烈推荐初学者在腾讯软件中心 https://pc.qq.com 下载,腾讯软件中心下载速度快,并且没有捆绑软件,在腾讯软件中心的搜索框中输入 Python,如下图所示:搜索结果包含 4 条结果:Python 3.7 (64 位),该版本是 64 位 Python。Python 3.7,该版本是 32 位 Python。Python 2.7.15 (64 位),该版本是 64 位 Python。Python 2.7.15,该版本是 32 位 Python。请根据操作系统的位数,下载Python 3.7 (64 位)或者 Python 3.7。

3.3 文件下载加速

冠状病毒迫使企业和学生在家办公和学习,钉钉的下载量暴增,我们能够顺利的从各个 APP 商店下载到,也是归功于 CDN 的加速。提前把对应的安装包放到了各个地方的近端的 CND 服务器。

1.1 Go语言的下载

下载 MacOS 版本的 Go 语言环境压缩包:curl -O https://studygolang.com/dl/golang/go1.13.8.darwin-amd64.tar.gz

1.1 下载语言包

下载 Linux 版本的 Go 语言环境压缩包,在 Linux 终端中输入下面这条命令:wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gzGo 语言在 Linux 下的安装过程

2. 代理配置

go mod 虽然可以直接帮我们下载好我们需要的包,但是因为 Go 语言很多包都是在国外的服务器上,国内下载具有一定的困难。但是不用担心,go mod 提供了代理服务,同时很多国内的云服务器产商都提供了自己的代理服务:阿里云: https://mirrors.aliyun.com/goproxy 微软: https://goproxy.io 七牛云: https://goproxy.cn GoCenter: https://gocenter.io

4. 选择下载方式

进入下载页面后,我们将看到如下的信息:图中添加了序号 1 和 2 的标注,这是 Eclipse 官网提供的两种下载方式,其中 1 是下载安装器,2 是下载压缩包。让我们先看看如何下载安装器。

4.3 运行uni-app

npm run dev:%PLATFORM%%PLATFORM% 可取值如下:值平台5天H5支付宝支付宝小程序mp-百度百度小程序mp-微信微信小程序头条字节跳动小程序mp-qqqq小程序Tips:dev 模式编译出的各平台代码存放于根目录下的 /dist/dev/ 目录,打开各平台开发工具选择对应的平台目录即可进行预览(h5 平台不会在此目录,存在于缓存中);build 模式编译出的各平台代码存放于根目录下的 /dist/build/ 目录,发布时选择此目录进行发布;dev 和 build 模式的区别:dev 模式有 SourceMap 可以方便的进行断点调试;build 模式进行代码进行压缩,体积更小更适合发布为正式版应用;进行环境判断时,dev 模式 process.env.NODE_ENV 的转换开发,构建模式 process.env.NODE_ENV 的转换生产。

1.1 下载语言包

和大部分编程语言一样,想要使用 Go 语言,就必须安装 Go 语言的编译环境,使我们写的 Go 代码编译为计算机能"看懂"的语言。我们可以通过以下两个链接下载到 Go 语言的编译环境:Golang官网Golang中文网两个网站打开的内容只有语言不同而已,网站上清晰的标注了不同操作系统需要对应安装哪个版本,其中加粗的 是该操作系统的推荐版本。我们下载 windows 需要的版本就好了,为了更容易理解整个安装过程,我们下载需要手动配置的版本。Go 语言版本展示

3.3 加载环境变量

为了让我们刚刚添加的环境变量生效,使用source命令加载环境变量:source ~/.bash_profile

2. 什么是时区

我们知道,地球上的不同地区是有时差的,因此想要准确定位一个时刻,还需要加上时区。时区有以下 3 种表示方式:GMT 或者 UTC 加时区偏移表示:例如:GMT+08:00 或者 UTC+08:00 表示东八区;缩写表示:例如:CST 表示 China Standard Time(中国标准时间),但是此缩写也可表示 Central Standard Time USA(美国中部时间),容易混淆不推荐使用;洲 / 城市:例如:Asia/Shanghai 表示上海所在地的时区。注意城市名称不是任意的城市,而是由国际标准组织规定的城市。

1. 下载 VMware

来到官网下载 Windows 版本 VMware 安装程序,如图所示选择合适版本的安装程序并下载,需要注册完账号即可下载:

3. 下载 Android SDK

由于 Android SDK 更新非常快,版本比较多,Google 推出了一个 sdkmanager 工具统一管理。目前最新版本的 sdkmanager 只支持命令行操作,本教程里推荐使用 GUI 版本降低大家的操作成本,从而可以把更多的重心放在 Android 开发的学习上,这里提供了支持 GUI 的 25.2.3 版本,大家可以根据自己的系统环境下载对应文件。第一步:根据系统平台下载相应的 Android SDK:MacWindowsLinux第二步:解压得到 tools 文件夹,将其保存到自定义的目录,如/Users/sdk/tools。

4. 各平台小程序组件存放目录

uni-app 还有一个非常牛的地方,就是支持在 App 和小程序中使用小程序自定义的组件,支持情况如下:平台支持情况小程序组件存放目录 H5 从 HBuilderX2.4.7 起,支持微信小程序组件 wxcomponentsApp(不含 nvue)支持微信小程序组件 wxcomponents 微信小程序支持微信小程序组件 wxcomponents 支付宝小程序支持支付宝小程序组件 mycomponents 百度小程序支持百度小程序组件 swancomponents 字节跳动小程序支持字节跳动小程序组件 ttcomponentsQQ 小程序支持 QQ 小程序组件 wxcomponents

1. 下载 MySQL

1.1 来到官网下载 Windows 版本 MySQL 压缩包,如图所示选择 Windows 版本的安装包并下载:1.2 点击下载之后会提示让你登录,如图所示。选择不用登陆,直接下载即可:

1. 下载 MobaXterm

来到 MobaXterm官网 找到对应电脑的版本,点击如图所示的 Free Download:进入下载界面会自动下载 安装包,安装包如下图所示:Tips : 若是在下载过程中下载不动的情况,推荐可以使用 迅雷 下载。解压 压缩包之后,双击 安装包即可开始安装:

3.4 平台标识

也就是%PLATFORM% 可取值如下:值平台APP-PLUS5+AppH5H5MP-WEIXIN微信小程序MP-ALIPAY支付宝小程序MP-BAIDU百度小程序MP-TOUTIAO头条小程序MP-QQQQ小程序MP微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序

3. Dreamweaver CC 2018 的卸载

首先,我们依托 Windows 平台的软件卸载功能就可以完成卸载了。我们演示的环境时微软 Windows10操作系统。在该系统下,右键点击屏幕左下角的 Windows 图标,可以发现第一项是“应用和功能(T)”。我们左键点击这个按钮,可以进入到如下的界面:在这个界面中我们可以看到,红色方框内圈出的部分就是我们要卸载的安装在电脑上的 Dreamweaver 相关组件。我们对这几个应用分别点击鼠标左键,点击卸载。稍等片刻后,就可以发现这些软件消失在列表中,而回到桌面印证我们的操作正确性可以发现:软件桌面图标被完全卸载了。

2.1 微框架

Flask 是一个 Python 实现的 Web 开发微框架,但是这个“微”并不代表着 Flask 功能比较简陋、有所欠缺。微框架中的 “微” 意味着:Flask 旨在保持核心简单而易于扩展;Flask 不会替用户做出太多决策,比如使用何种数据库;Flask 的选项(比如使用何种模板引擎) 通常有多个,用户很容易替换。默认情况下,Flask 不包含数据库抽象层、模板引擎、身份认证或其它任何已有多种库可以胜任的功能,如下图所示。然而,Flask 支持用扩展来给应用添加这些功能,应用程序可以很方便的集成这些扩展。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。

3.2 bundletool 构建 app bundle

bundletool 是一个命令行工具,Android Studio、Android Gradle 插件和 Google Play 使用这项工具将应用的经过编译的代码和资源转换为 app bundle,并根据这些 bundle 生成可部署的 APK。bundletool 要求关于应用项目的某些信息(如应用的清单和资源)采用 Google 的协议缓冲区格式(也称为“protobuf”),并以 *.pb 作为文件扩展名。Protobuf 提供了一种不依赖于语言和平台且可扩展的机制,用于对结构化数据进行序列化。3.2.1 下载 AAPT2我们可以使用 Google Maven 代码库中的最新版 AAPT2 以 protobuf 格式生成应用的清单文件和资源表。Tips:请勿使用 Android 构建工具包中包含的 AAPT2 版本,因为它不支持 bundletool。要从 Google 的 Maven 代码库下载 AAPT2,请按以下步骤操作:在代码库索引中依次转到 com.android.tools.build > aapt2;复制最新版 AAPT2 的名称;将复制的版本名称插入以下网址并指定目标操作系统:https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/aapt2-version/aapt2-aapt2-version-[windows|linux|osx].jar;例如,要下载适用于 Windows 的版本 3.2.0-alpha18-4804415,我们应使用:https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.0-alpha18-4804415/aapt2-3.2.0-alpha18-4804415-windows.jar;在浏览器中导航到该网址,系统应该会随即开始下载 AAPT2;解压缩刚刚下载的 JAR 文件。3.2.2 编译并链接应用的资源我们可以通过以下命令,使用 AAPT2 编译应用的资源:aapt2 compile \project_root/module_root/src/main/res/drawable/Image1.png \project_root/module_root/src/main/res/drawable/Image2.png \-o compiled_resources/Tips:虽然我们可以使用 --dir 标记将资源目录传递给 AAPT2,但这样做会重新编译目录中的所有文件,无论我们实际更改了多少个文件。在链接阶段(在此阶段,AAPT2 会将各种编译后的资源链接到一个 APK 中),通过添加 --proto-format 标记,指示 AAPT2 将应用的清单和编译后的资源转换为 protobuf 格式,如下所示:aapt2 link --proto-format -o output.apk \-I android_sdk/platforms/android_version/android.jar \--manifest project_root/module_root/src/main/AndroidManifest.xml \-R compiled_resources/*.flat \--auto-add-overlayTips:此外,当使用 -R 标记指定已编译的资源时,我们可以指定一个包含每个已编译资源的绝对路径(各路径之间用一个空格分隔)的文本文件。然后,我们可以将该文本文件传递给 AAPT2,如下所示:aapt2 link … -R @compiled_resources.txt。接下来,我们可以从输出 APK 提取内容,如应用的 AndroidManifest.xml、resources.pb 及其他资源文件(这些文件现在采用 protobuf 格式)。在准备 bundletool 构建 app bundle 所需的输入时,我们需要用到这些文件。3.2.3 打包预编译的代码和资源在使用 bundletool 为我们的应用生成 app bundle 之前,我们必须先提供 ZIP 文件,每个 ZIP 文件包含给定应用模块的经过编译的代码和资源。每个模块的 ZIP 文件的内容和组织方式都与 Android App Bundle 格式非常类似。 例如,我们应该为应用的基础模块创建一个 base.zip 文件,并按如下方式组织其内容:文件或目录说明manifest/AndroidManifest.xml模块的清单,采用 protobuf 格式。dex/…此目录包含应用的一个或多个经过编译的 DEX 文件。这些文件应按如下方式命名:classes.dex、classes2.dex、classes3.dex,依此类推。res/…包含模块的资源,这些资源采用 protobuf 格式,适用于所有设备配置。子目录和文件的组织方式应与典型的 APK 类似。root/…、assets/… 和 lib/…这些目录与关于 Android App Bundle 格式的目录完全相同。resources.pb应用的资源表,采用 protobuf 格式。准备好每个应用模块的 ZIP 文件后,我们可以将其传递给 bundletool 来构建 app bundle。3.2.4 构建 app bundle要构建 app bundle,请使用 bundletool build-bundle 命令,如下所示:bundletool build-bundle --modules=base.zip --output=mybundle.aab下表对用于 build-bundle 命令的标记进行了更详细的说明:标记说明–modules=path-to-base.zip, path-to-module2.zip,path-to-module3.zip指定 bundletool 构建 app bundle 时应使用的模块 ZIP 文件的列表。–output=path-to-output.aab指定输出 *.aab 文件的路径和文件名。–config=path-to-BundleConfig.json指定可用于自定义构建流程的可选配置文件的路径。–metadata-file=target-bundle-path:local-file-path指示 bundletool 将可选的元数据文件打包到 app bundle 中。3.2.5 自定义 APK 生成app bundle 包含一个 BundleConfig.pb 文件,该文件提供应用商店(如 Google Play)在根据 bundle 生成 APK 时所需的元数据。 虽然 bundletool 会为我们创建此文件,但我们可以在 BundleConfig.json 文件中配置元数据的某些方面,并将其传递给 bundletool build-bundle 命令。bundletool 随后会转换此文件并将其与每个 app bundle 中包含的 protobuf 版本进行合并。例如,我们可以控制要启用或停用哪些类别的配置 APK。以下 BundleConfig.json 文件示例会停用分别以不同语言为目标的配置 APK(即,各个语言的资源分别包含在各自的基础功能 APK 或动态功能 APK 中):{ "optimizations": { "splitsConfig": { "splitDimension": [{ "value": "LANGUAGE", "negate": true }] } }}在 BundleConfig.json 文件中,我们还可以指定在使用 glob 模式打包 APK 时要让哪些类型的文件保持未压缩状态,如下所示:{ "compression": { "uncompressedGlob": ["res/raw/**", "assets/**.uncompressed"] }}

4.手动挂载媒体设备

下面以挂载某一个设备的目录 /new/test 到 /media/soft 下为例,命令如下:mount -ft vfat /new/test /media/soft执行结果如下图:Tips:使用上述命令,没有任何提示信息,因为这里使用的的 -f 参数是模拟挂载,实际业务中可参照此方法去挂载新设备目录。

首页上一页1234567下一页尾页
直播
查看课程详情
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号