热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Gulp构建的微信小顺序开辟工作流

wx-miniprogram-boilerplate基于Gulp构建的微信小顺序开辟工作流实用场景现在开辟微信小顺序时,可选的手艺计划大概有四种,分别是:微信小顺序原生开辟运用we
wx-miniprogram-boilerplate

基于Gulp构建的微信小顺序开辟工作流

实用场景

现在开辟微信小顺序时,可选的手艺计划大概有四种,分别是:

  1. 微信小顺序原生开辟
  2. 运用wepy框架
  3. 运用mpvue框架
  4. 运用taro框架

三种开辟计划,各有好坏。运用第三方框架开辟,能够享用框架带来的开辟方便,但关于小顺序新增的诸多特征和功用,比方WXS模块自定义组件插件等,受制于第三方框架,没法运用。

而原生小顺序的开辟形式,又过于大略,就款式来讲,写惯了less,stylus和sass的同砚肯定没法忍受wxss的这类写法,基于此,决议运用gulp自动化东西来构建一套微信小顺序开辟的基本模板,在完整保存微信小顺序功用和特征的基本上,又能够的运用less来写款式,同时到场图片紧缩,敕令行疾速建立模板等特征,云云开辟,快哉,快哉!

github走起

特征

  • 基于gulp+less构建的微信小顺序工程项目
  • 项目图片自动紧缩
  • ESLint代码搜检
  • 运用敕令行疾速建立pagetemplatecomponent

Getting Started

0. 最先之前,请确保已装置node和npm,全局装置gulp-cli

$ npm install --global gulp-cli

1. 下载代码

$ git clone https://github.com/YangQiGitHub/wx-miniprogram-boilerplate.git

2. 进目次,装置依靠

$ cd wx-miniprogram-boilerplate && npm install

3. 编译代码,天生dist目次,运用开辟者东西翻开dist目次

$ npm run dev

4. 新建page、template或许component

gulp auto -p mypage 建立名为mypage的page文件
gulp auto -t mytpl 建立名为mytpl的template文件
gulp auto -c mycomponent 建立名为mycomponent的component文件
gulp auto -s index -p mypage 复制pages/index中的文件建立称号为mypage的页面

5. 上传代码前编译

$ npm run build

6. 上传代码,考核,发版

工程构造

wx-miniprogram-boilerplate
├── dist // 编译后目次
├── node_modules // 项目依靠
├── src
│ ├── components // 微信小顺序自定义组件
│ ├── images // 页面中的图片和icon
│ ├── pages // 小顺序page文件
│ ├── styles // ui框架,大众款式
│ ├── template // 模板
│ ├── utils // 大众js文件
│ ├── app.js
│ ├── app.json
│ ├── app.less
│ ├── project.config.json // 项目设置文件
│ └── api.config.js // 项目api接口设置
├── .gitignore
├── .eslintrc.js // ESLint
├── package-lock.json
├── package.json
└── README.md

Gulp申明

Tasks:
dev 开辟编译,同时监听文件变化
build 团体编译
clean 清空产出目次
wxml 编译wxml文件(仅仅copy)
js 编译js文件,同时举行ESLint语法搜检
json 编译json文件(仅仅copy)
wxss 编译less文件为wxss
img 编译紧缩图片文件
watch 监听开辟文件变化
auto 自动依据模板建立page,template或许component(小顺序自定义组件)
gulp auto
选项:
-s, --src copy的模板 [字符串] [默许值: "_template"]
-p, --page 天生的page称号 [字符串]
-t, --template 天生的template称号 [字符串]
-c, --component 天生的component称号 [字符串]
--msg 显现协助信息 [布尔]
示例:
gulp auto -p mypage 建立名为mypage的page文件
gulp auto -t mytpl 建立名为mytpl的template文件
gulp auto -c mycomponent 建立名为mycomponent的component文件
gulp auto -s index -p mypage 复制pages/index中的文件建立称号为mypage的页面

Q&A

Q: 为何工作流中没有到场js转换,款式补全以及代码紧缩?
A: 微信开辟者东西中自带babel将ES6转ES5,款式补全以及js代码紧缩等功用,在此工作流中不做分外增加。
《基于Gulp构建的微信小顺序开辟工作流》

Q: _template目次的文件有什么用?
A: 运用gulp auto敕令自动天生文件,-s参数能够指定copy的对象,默许情况下是以对应目次下文件夹为_template中的文件为copy对象的。开辟者能够依据营业需求,自定义_template下的文件。

Q: _template目次的文件是不是会被编译到dist目次?
A: 不会。

TODO

  • [x] 代码解释
  • [x] 范例敕令行运用
  • [x] eslint
  • [ ] 引入经常使用的CSS库,比方weui之类的

末了

将延续更新,如果有新的发起,迎接建立Issue或发送PR,谢谢你的支撑和孝敬。


推荐阅读
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader ... [详细]
  • 上一章我们设置了分类页面的页面标签,这一章我们继续标签设置格局。话不多说标签设置格局,我们一起操练起来吧~ ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
author-avatar
cxl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有