webpack重构小程序开发

栏目: 编程语言 · 发布时间: 5年前

内容简介:编写模板时通常是以下这种语法:这个时候希望在写标签的时候能支持一套语法,比如根据标签的缩进关系来决定dom的嵌套层次:这就是我们熟悉的pug语法编写的dom结构,但小程序是不识别这种语法的,我们需要将这段模板编译成小程序希望的.wxml这种格式。

小程序开发痛点

编写模板时通常是以下这种语法:

<!--index.wxml-->
<view class="container">
  <view class="userinfo">
    <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
    <block wx:else>
      <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
    </block>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

这个时候希望在写标签的时候能支持一套语法,比如根据标签的缩进关系来决定dom的嵌套层次:

view.container
	view.userinfo(bindgetuserinfo='getUserInfo' open-type='getUserInfo')
		button
		image.userinfo-avatar
		text.userinfo-nickname {{userInfo.nickName}}
	view.usermotto
		text.user-motto {{motto}}

这就是我们熟悉的pug语法编写的dom结构,但小程序是不识别这种语法的,我们需要将这段模板编译成小程序希望的.wxml这种格式。

sass,less, postCss等css预处理 工具 的出现,为前端编写css样式带来了巨大的遍历,将他们引入到小程序的开发中带来的优点也是显而易见的。

解决方案:借鉴vue

<template lang="pug">
    // 模板内容
</template>
<script>
	// 脚本内容
</script>
<style lang="sass">
    // 样式内容
</style>

这就是我们所期望的开发小程序的开发模式:

1、dom, 脚本,样式写到同一个文件

2、通过指定模板引擎来构建更简洁的dom结构

3、通过引入css预处理工具提升css编写效率

如何实现

要实现上述一系列的任务,大体上的流程是这样的:首先启动一个task任务,确定需要被编译的文件的路径和输出文件的路径,即遍历pages下面像index,logs这样一个又一个的页面,然后对每个页面后缀名.mina的文件进行词法的分析,从里面抽取到template、脚本和样式,分别对应这三类文件进行相应的plugin的操作:template使用pug进行编译,脚本的话使用了一些新语法比如async,await,需要进行babel编译,样式文件的话,使用sass-loader插件进行编译。等上述编译完成后的内容输出到指定的文件夹下面。

将模板样式脚本抽离到单独文件的中间件就是我们的loader


以上所述就是小编给大家介绍的《webpack重构小程序开发》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java语言程序设计

Java语言程序设计

(美) Y. Daniel Liang / 李娜 / 机械工业出版社 / 2011-6 / 79.00元

本书是Java语言的经典教材,畅销多年不衰。本书全面整合了Java的特性,采用“先讲基础”的教学方式,循序渐进地介绍了程序设计基础、面向对象程序设计、GUI程序设计等。另外,本书还全面且深入地覆盖了一些高级主题,包括算法和数据结构、并发、网络、国际化、高级GUI、数据库和Web程序设计等。 本书中文版由《Java语言程序设计 基础篇》和《Java语言程序设计 进阶篇》组成。基础篇对应原书的第......一起来看看 《Java语言程序设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码