最专业的八方代购网站源码!

资讯热点
在两个实际案例之后,我总结了有效编写微信小程序的方法

发布时间:2021-10-18 分类: 电商动态

何柳流:微信小程序是一个项目。就像建房子一样,奠定了基础,以确保后续工程师建立在可靠而坚实的基础之上。我需要经常创建新项目,每次我必须重复“修改项目结构 - >从旧项目复制和粘贴文件 - >删除一些旧项目中的代码”的过程真的很费劲。如何有效地编写微信applet?看看腾讯工程师总结的这种方法!

另一个痛点是,每次创建新的applet页面时,都需要生成三个文件名相同的文件(.wxml,.wxss和.js)。命令行太长(根据微信同事的说法:你也可以使用app.json的pages字段)。添加新页面的路径并保存相应的文件。)

因此,阅读本文需要对小程序开发有一点了解(一个简单的教程指南)

目标

我们现在有两个目标:

基于通用模板创建新项目

一键式新页面目录和目录中的三个文件:.wxml,.wxss和.js也可以直接在app.json的pages字段中创建,这三个文件在保存后生成。我没有使用这种方法的原因是我一开始并不知道这个功能,另一个是不适合的操作习惯。另外,我认为在js文件初始化之后,我需要引入公共库并插入代码片段,所以我保留了这个功能。

这两个要求实际上非常简单,不需要GUI,因此我们可以使用npm命令行工具。想象一下这个命令行应该是什么样的:

流程图是:

实施

在开始正式流程之前,请确认本地开发环境。作者的本地环境是:

我们将问题分解为三个步骤:

实现可以直接从任何目录运行的命令行工具

通过输入不同的命令行参数来执行不同的功能

考虑项目模板的存储位置,是将其集成到工具中还是与工具分开

别担心,它很容易解决,让我们一个接一个地看。

命令行工具

bin.json中的一个字段是bin:

此字段将开发人员希望执行的脚本注册到环境变量(PATH)中,并且不同的键对应于不同的脚本。也就是说,现在,当我们直接在命令行上执行时:

相当于在终端中执行:

第一个问题很容易解决。有关bin字段的更多信息,请参阅npm文档的package.json部分。

命令行参数

执行index.js时,可以通过process.argv获取执行时间的参数,但是从参数数组中拆分参数很麻烦。但是,由于npm已经发展,处理命令行参数的库肯定存在,指挥官。简单易用,第二个问题就解决了。

存储项目模板的地方

考虑项目模板的存储位置,它是否集成到工具中,还是与工具分开?

作者选择单独管理。

在单独的模板代码存储库中管理模板内容,以便于维护。当前模板仍然相对简单(请参阅下面的“模板详细信息”)。预计只有标准目录结构会跟随自动化部分(例如less - > wxss),因此将来会更频繁地更改它。

Download-git-repo可以将给定地址的存储库内容复制到可执行目录中。 API很简单,就是这样。

问题解决了,现在让我们看一下伪代码(注意:伪代码中不考虑错误代码):

使用

编写此工具后,您只需要全局使用它:

在本地开发过程中,如果更新代码的开发版本,则需要将同步更新为全局,这次需要执行:

您将看到安装到环境变量中的工具目录地址已与开发目录关联:

它的工作原理如下:

△模板和插件地址将附加到参考资料部分

发布npm插件

如果要在作者等多台计算机上使用此工具,可以选择发布到npm代购源码网站。出版步骤非常简单,基本上是:

但是,我认为项目模板因人而异,所以我选择发布范围包,即插件的package.json中的name字段使用@ scopeName/wxapp-generator等值。

如果你有类似的想法并且也是一个npm免费用户,那么在你发布它时执行它:

范围对使用没有影响,但请记住在安装时执行范围名称:

详细的模板解决方案

一千人有一千个项目模板。根据业务/个性,您的项目模板可能相差甚远。作者有意识地使用了当前模板也不错,将在本节介绍。以下是项目的文件结构:

采用这种结构的原因是尽可能地分离逻辑和业务逻辑。但由于完全脱钩是不可能的,因此基本思想就是“可变分离”。通常UI更改是通过类切换或内联样式调整,因此作者的想法是“切换类”或“调整内联样式”作为变量,因为大多数业务逻辑和UI更改是链接的,并且通过提取变量,简单地在业务逻辑中更改UI。

可能会看到读者会感到困惑。让我们以“企鹅听力书”为例,看看作者是如何做到的。听力书的界面发生变化有两种情况:

有两种播放器:迷你吧和全屏播放器。播放器的播放按钮具有两种状态(图片)切换,例如“播放”和“停止”。这可以通过课程来控制。

当播放器进入全屏模式时,程序列表将被隐藏;单击箭头后,将重新显示程序列表。

上述文件结构中的view.js是UI逻辑的代码。 pages /目录中的js文件将通过import引用view.js。 view.js中的接口分为“常规”和“页面用法”:

如果将来有更多UI更改,您可以通过变量添加它们,例如pageView.id。

给出一个超级简单的例子(见下文)来模拟工作流程:

定义控制wxss

中不同样式的类

将需要更改的类写入view.js并公开接口

将事件处理程序绑定在wxml

中的相应结构中

事件处理程序的具体内容在相应的page.js中实现,即切换类的触发条件

旧驱动程序一眼就知道它是MVVC模式,因此UI的分离是为了拥有一个单独的控制器,而不是认真地与业务逻辑耦合,并且可以在页面开发阶段完成UI更改。从这个角度来看,applet可以让UI工程师更多地控制UI逻辑并确定代码规范和界面。

总结

初始化项目是编码的第一步。值得花更多时间为项目模板找到合适的团队。

在结束之前,让作者播放广告。 Penguin FM有两个小程序:向传统广播电台致敬,收听广播节目的“小广播电台”,并听取音频小说的“企鹅听力书”。而轻量级的“微云”。每个人都可以扫描代码体验。性能优化和功能改进也在逐步迭代中。我希望每个人都可以使用更多的反馈〜而不是心脏

« 掌握网页背景纹理设计的技巧 | 如何建立一个高端代购源码网站这些基本元素必须有 »