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

一款小顺序加强开发工具EWA

EWA(微信小顺序加强开辟东西)EnhancedWechatAppDevelopmentToolkit(微信小顺序加强开辟东西)项目地点:https:github.comlyfey
EWA (微信小顺序加强开辟东西)

Enhanced Wechat App Development Toolkit (微信小顺序加强开辟东西)

项目地点:https://github.com/lyfeyaj/ewa,迎接试用 ~

喜好么?或许对您有效? ☞ 马上去 ⭐️ Star ⭐️ 一下 ☞

为何开辟这个东西?

厌倦了不断的对照 wepy 或许 mpvue 的特征,间歇性的踩雷,以及 code once, run everywhere 的空想。只想给小顺序开辟插上效力的翅膀 ~

功用特征

  1. Async/Await 支撑
  2. Javascript ES2017+ 语法
  3. 原生小顺序一切功用,无需进修,极易上手
  4. 微信接口 Promise 化
  5. 支撑装置 NPM 包
  6. 支撑 SCSS(或 LESS) 以及 小于 16k 的 background-image
  7. 支撑 source map, 轻易调试
  8. 增加新页面或新组件无需重启编译
  9. 许可自定义编译流程
  10. 自动兼容旧版本手机中的显现款式
  11. 支撑 WXSS 和 SCSS(或 LESS) 混用
  12. 代码殽杂及高度紧缩,节约包大小

更多特征正在赶来 … 敬请期待 👇

  • 可跨项目复用的小顺序组件或页面(经由过程NPM包治理)
  • Redux 支撑
  • Mixin 支撑

装置

须要 node 版本 >= 8

npm i -g ewa-cli 或许 yarn global add ewa-cli

怎样运用

建立新项目

ewa new your_project_name

集成到现有小顺序项目,仅支撑小顺序原生开辟项目转换

注重:运用此要领,请务必对项目代码做好备份!!!

cd your_project_dir && ewa init

启动

运转 npm start 即可启动及时编译

运转 npm run build 即可编译线上版本(比拟及时编译而言,去除了 source map 并增加了代码紧缩殽杂等,体积更小)

上述敕令运转胜利后,能够看到当地多了个 dist 目次,这个目次里就是天生的小顺序相干代码。

运用微信开辟者东西挑选 dist 目次翻开,即可预览项目

目次构造

├── .ewa 特别占位目次,用于搜检是不是为 ewa 项目
├── dist 小顺序运转代码目次(该目次由ewa的start 或许 build指令自动编译天生,请不要直接修正该目次下的文件)
├── node_modules 外部依靠库
├── src 代码编写的目次(该目次为运用ewa后的开辟目次)
│ ├── components 小顺序组件目次
│ ├── pages 小顺序页面目次
│ │ ├── index
│ │ │ ├── index.js
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── logs
│ │ ├── logs.js
│ │ ├── logs.json
│ │ ├── logs.wxml
│ │ └── logs.wxss
│ ├── templates 小顺序模版目次
│ ├── utils
│ │ └── util.js
│ ├── app.js 小顺序进口文件
│ ├── app.json 小顺序全局设置文件
│ ├── app.wxss 小顺序全局款式文件
│ └── project.config.json 微信开辟者东西小顺序项目设置文件
├── ewa.config.js ewa 设置文件
├── .gitignore
├── .eslintrc.js eslint 设置
└── package.json

敕令行

ewa [args]
敕令:
ewa new 建立新的微信小顺序项目 [别号: create]
ewa init 在现有的小顺序项目中初始化 EWA
ewa start 启动 EWA 小顺序项目及时编译 [别号: dev]
ewa build 编译小顺序静态文件
ewa clean 清算小顺序静态文件
ewa upgrade 晋级 EWA 东西
ewa generate 疾速天生模版 [别号: g]
选项:
--version, -v 当前版本号 [布尔]
--help, -h 猎取运用协助 [布尔]

微信接口 Promise 化

const { wx } = require('ewa');
Page({
async onLoad() {
let { data } = await wx.request({ url: 'http://your_api_endpoint' });
}
})

设置

ewa 经由过程 ewa.config.js 来支撑个性化设置。以下所示:

// ewa.config.js
module.exports = {
// 公用代码库 (node_modules 打包天生的文件)称号,默以为 vendors.js
commonModuleName: 'vendors.js',
// 通用模块婚配形式,默以为 /[\\/](node_modules|utils|vendor)[\\/].+\.js/
// 如需增加多个文件夹,可自定义正则,如 /[\\/](node_modules|utils|custom_dirname)[\\/].+\.js/
commonModulePattern: /[\\/](node_modules|utils|vendor)[\\/].+\.js/,
// 是不是简化途径,作用于 page 和 component,如 index/index.wxml=> index.wxml,默以为 false
simplifyPath: false,
// 文件夹快速援用
aliasDirs: [
'apis',
'assets',
'constants',
'utils'
],
// 须要拷贝的文件范例
copyFileTypes: [
'png',
'jpeg',
'jpg',
'gif',
'svg',
'ico'
],
// webpack loader 划定规矩
rules: [],
// webpack 插件
plugins: [],
// 开辟环境下是不是自动清算无用文件,默以为 true
autoCleanUnusedFiles: true,
// css 解析器,sass 或许 less,默以为 sass
cssParser: 'sass',
// 嫌不够天真?直接修正 webpack 设置
webpack: function(config) {
return config;
}
};

常见问题 & Tips

  1. 能够运用 @ 来替代 源代码根目次 来引入代码或款式,如 const utils = require('@/utils/util')
  2. WXSS 中能够直接编写 SCSS 款式代码
  3. WXSS 或 SCSS 中援用绝对途径须要在途径前加 ~ 标记,如:@import "~@/assets/styles/common.scss";,详细缘由拜见: sass-loader

推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 微信小程序导航跟随的实现方法
    本文介绍了在微信小程序中实现导航跟随的方法。通过设置导航的position属性和绑定滚动事件,可以实现页面向下滚动到导航位置时,导航固定在页面最上方;页面向上滚动到导航位置时,导航恢复到原始位置;点击导航可以平滑跳转到相应位置。代码示例也给出了具体实现方法。 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • 起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈官方要取消消息模板,使用订阅消息。为了方便大家容易学 PythonFlask构建微信小程序订餐系统 课程。 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • MapReduce 切片机制源码分析
     总体来说大概有以下2个大的步骤1.连接集群(yarnrunner或者是localjobrunner)2.submitter.submitJobInternal()在该方法中会创建 ... [详细]
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 小程序获取用户信息按钮返回中文地址
    1.我是根据官方文档中描述去写的按钮 可以看到button中加了zh_CNopen-typegetUserInfobindgetuserinfogetU ... [详细]
  • 如何在Vue项目中安装和使用VUX组件?
    vux2模板fork自webpack模板,基本和官方同步。1、默认为webpack2模板npminstallvue-cli-g如果还没安装vueinitairyla ... [详细]
  • SparkOnYarn在YARN上启动Spark应用有两种模式。在cluster模式下,Spark驱动器(driver)在YARNApp ... [详细]
author-avatar
jiangzh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有