wepy-CLI

安装

  1. npm install -g wepy-cli
  2. wepy init standard my-project

https://github.com/Tencent/wepy

特性:

  • 类Vue开发风格
  • 支持自定义组件开发
  • 支持引入NPM包
  • 支持Promise
  • 支持ES2015+特性,如Async Functions
  • 支持多种编译器,Less/Sass/Stylus/PostCSS、Babel/Typescript、Pug
  • 支持多种插件处理,文件压缩,图片压缩,内容替换等
  • 支持 Sourcemap,ESLint等
  • 小程序细节优化,如请求列队,事件优化等

Demo

  1. <style lang="less">
  2. @color: #4D926F;
  3. .num {
  4. color: @color;
  5. }
  6. </style>
  7. <template>
  8. <div class="container">
  9. <div class="num" @tap="num++">
  10. {{num}}
  11. </div>
  12. <div>{{text}}</div>
  13. <input v-model="text"></input>
  14. </div>
  15. </template>
  16. <config>
  17. {
  18. usingComponents: {
  19. customCompoent: '@/components/customComponent',
  20. vendorComponent: 'module:vendorComponent'
  21. }
  22. }
  23. </config>
  24. <script>
  25. import wepy from '@wepy/core';
  26. wepy.page({
  27. data: {
  28. num: 0,
  29. text: 'Hello World',
  30. },
  31. });
  32. </script>
  1. npm install @wepy/cli@next -g
  2. wepy init standard myproject
  3. cd myproject
  4. npm install
  5. wepy build --watch
  1. Usage: init <template-name> [project-name]
  2. generate a new project from a template
  3. Options:
  4. -c --clone use git clone
  5. --offline use cached template
  6. -h, --help output usage information
  7. Example:
  8. # create a new project with an official template
  9. $ wepy init standard my-project
  10. # create a new project straight from a github template
  11. $ wepy init username/repo my-project

[外链图片转存失败(img-i3adky9l-1564162169202)(https://upload-images.jianshu.io/upload_images/11158618-ff09b7714404b0ea.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

查看官方、第三方模板资源

  1. Usage: list [options]
  2. list available official templates
  3. Options:
  4. -g, --github list all registered github projects
  5. -h, --help output usage information

[外链图片转存失败(img-XonSviJY-1564162169205)(https://upload-images.jianshu.io/upload_images/11158618-465772e73b073910.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

  1. Usage: build [options]
  2. build your project
  3. Options:
  4. -f, --file <file> 待编译wpy文件
  5. -s, --source <source> 源码目录
  6. -t, --target <target> 生成代码目录
  7. -o, --output <type> 编译类型:webweapp。默认为weapp
  8. -p, --platform <type> 编译平台:browser, wechatqq。默认为browser
  9. -w, --watch 监听文件改动
  10. --no-cache 对于引用到的文件,即使无改动也会再次编译
  11. -h, --help output usage information

升级wepy-cli

  1. Usage: upgrade [options]
  2. upgrade to the latest version
  3. Options:
  4. --cli upgrade wepy-cli
  5. --wepy upgrade wepy
  6. -h, --help output usage information

切换至项目目录

  1. cd myproject

安装依赖

  1. npm install

开启实时编译

  1. wepy build --watch
  1. ├── dist 小程序运行代码目录(该目录由WePYbuild指令自动编译生成,请不要直接修改该目录下的文件)
  2. ├── node_modules
  3. ├── src 代码编写的目录(该目录为使用WePY后的开发目录)
  4. | ├── components WePY组件目录(组件不属于完整页面,仅供完整页面或其他组件引用)
  5. | | ├── com_a.wpy 可复用的WePY组件a
  6. | | └── com_b.wpy 可复用的WePY组件b
  7. | ├── pages WePY页面目录(属于完整页面)
  8. | | ├── index.wpy index页面(经build后,会在dist目录下的pages目录生成index.jsindex.jsonindex.wxmlindex.wxss文件)
  9. | | └── other.wpy other页面(经build后,会在dist目录下的pages目录生成other.jsother.jsonother.wxmlother.wxss文件)
  10. | └── app.wpy 小程序配置项(全局数据、样式、声明钩子等;经build后,会在dist目录下生成app.jsapp.jsonapp.wxss文件)
  11. └── package.json 项目的package配置

版本init新生成的代码包会在根目录包含project.config.json文件

如果存在,使用微信开发者工具–>添加项目,项目目录请选择项目根目录即可根据配置完成项目信息自动配置。

如果不存在,建议手动创建该文件后再添加项目。project.config.json文件内容如下:

  1. {
  2. "description": "project description",
  3. "setting": {
  4. "urlCheck": true,
  5. "es6": false,
  6. "postcss": false,
  7. "minified": false
  8. },
  9. "compileType": "miniprogram",
  10. "appid": "touristappid",
  11. "projectname": "Project name",
  12. "miniprogramRoot": "./dist"
  13. }

es6: 对应关闭ES6转ES5选项,关闭。 重要:未关闭会运行报错。

postcss: 对应关闭上传代码时样式自动补全选项,关闭。 重要:某些情况下漏掉此项也会运行报错。

minified: 对应关闭代码压缩上传选项,关闭。重要:开启后,会导致真机computed, props.sync 等等属性失效。(注:压缩功能可使用WePY提供的build指令代替,详见后文相关介绍以及Demo项目根目录中的wepy.config.js和package.json文件。)

urlCheck: 对应不检查安全域名选项,开启。 如果已配置好安全域名则建议关闭。

原生代码:

  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. //通过Page构造函数创建页面逻辑
  5. Page({
  6. //可用于页面模板绑定的数据
  7. data: {
  8. motto: 'Hello World',
  9. userInfo: {}
  10. },
  11. //事件处理函数
  12. bindViewTap: function() {
  13. console.log('button clicked')
  14. },
  15. //页面的生命周期函数
  16. onLoad: function () {
  17. console.log('onLoad')
  18. }
  19. })
  1. 基于WePY的代码:
  2. //index.wpy中的<script>部分
  3. import wepy from 'wepy';
  4. //通过继承自wepy.page的类创建页面逻辑
  5. export default class Index extends wepy.page {
  6. //可用于页面模板绑定的数据
  7. data = {
  8. motto: 'Hello World',
  9. userInfo: {}
  10. };
  11. //事件处理函数(集中保存在methods对象中)
  12. methods = {
  13. bindViewTap () {
  14. console.log('button clicked');
  15. }
  16. };
  17. //页面的生命周期函数
  18. onLoad() {
  19. console.log('onLoad');
  20. };
  21. }

若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达叔小生的简书!

这是一个有质量,有态度的博客

[外链图片转存失败(img-I02jD2AE-1564162169207)(https://upload-images.jianshu.io/upload_images/11158618-9ab0d3fef85d80ce?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

微信小程序组件化开发框架WePY的更多相关文章

  1. 小程序组件化开发框架---wepy 项目创建

    wepy是一个优秀的微信小程序组件化框架,突破了小程序的限制,支持了npm包加载以及组件化方案.这里就以我个人的经历讲下怎么创建wepy项目. 1.首先 在桌面(自己选定目录下)新建一个文件夹,注意需 ...

  2. 【腾讯Bugly干货分享】打造“微信小程序”组件化开发框架

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2nQzsuqq7Avgs8wsRizUhw 作者:Gc ...

  3. 小程序组件化框架 WePY 在性能调优上做出的探究

    作者:龚澄 导语 性能调优是一个亘古不变的话题,无论是在传统H5上还是小程序中.因为实现机制不同,可能导致传统H5中的某些优化方式在小程序上并不适用.因此必须另开辟蹊径找出适合小程序的调估方式. 本文 ...

  4. WePY | 小程序组件化开发框架

    资源连接: WePY | 小程序组件化开发框架 WePYAWESOME 微信小程序wepy开发资源汇总 文档 GITHUB weui WebStorm/PhpStorm 配置识别 *.wpy 文件代码 ...

  5. 微信小程序组件化实践

    Do Not Repeat Yourself 如何提高代码质量,方法有许多:抽象.模块.组件化,我认为它们的中心点都是--Do Not Repeat Yourself. 小程序组件化 我们先看看小程序 ...

  6. 微信小程序组件设计规范

    微信小程序组件设计规范 组件化开发的思想贯穿着我开发设计过程的始终.在过去很长一段时间里,我都受益于这种思想. 组件可复用 - 减少了重复代码量 组件做为抽离的功能单元 - 方便维护 组件作为temp ...

  7. 微信小程序组件学习 -- 注册页面

    微信小程序组件使用手册地址: 1. 百度搜索"微信公众平台",扫码登录之后,点击帮助文档里面的普通小程序. 2. 接着选择"开发"-->"组件& ...

  8. 微信小程序(组件demo)以及预览方法:(小程序交流群:604788754)

    1. 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开发者设置"中,查看到微信小程序的 Ap ...

  9. 详解封装微信小程序组件及小程序坑(附带解决方案)

    一.序 上一篇介绍了如何从零开发微信小程序,博客园审核变智障了,每次代码都不算篇幅,好好滴一篇原创,不到3分钟从首页移出来了.这篇介绍一下组件封装和我的踩坑历程. 二.封装微信小程序可复用组件 首先模 ...

随机推荐

  1. C# vb .net实现像素化效果滤镜打马赛克

    在.net中,如何简单快捷地实现Photoshop滤镜组中的像素化效果打马赛克呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授 ...

  2. selenium中的元素操作之三大切换(二)

    一.窗口切换 使用方法: 1.获取到打开的所有的窗口,句柄handles all_handles = driver.window_handles print(all_handles) 2.获取当前的窗 ...

  3. 2019-07-24 Smarty模板引擎的简单应用

    smarty是什么? Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一.Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂 ...

  4. EFCore 中执行存储过程返回DataSet DataTable

    在项目中由于需求,需要返回复杂的数据,需要执行存储过程,但是在DONETCORE2.0中,看官网文档执行的sql的有点操蛋,满足不了需求,就想到了ADO.NET 于是找资料,也没有合适的,就动手自己封 ...

  5. Web渗透

  6. 【转】vsftpd用户登入不进去问题

    实在是登陆不上... 我已经加了一个新的用户UID和GID都设置到1000以后 /etc/vsftpd.conf也加了local_enable=yes 以standalone模式运行. 重启服务器后, ...

  7. 如何解决IntelliJ idea的maven工程提示的Cannot Resolve Symbol

    IDEA无法识别一个类类,将其显示为红色,如果 compile 没有问题.鼠标放上去后显示 “Cannot resolve symbol XXX”,有两种解决方式:(1)点击菜单中的 “File” - ...

  8. fastjson将json格式字符串转成list集合

    1.gameListStr = "[{"gameId":"1","gameName":"哈哈"},{" ...

  9. danci2

    composite 英 ['kɒmpəzɪt] 美 [kɑm'pɑzɪt] n. 复合材料:合成物:菊科 adj. 复合的:合成的:菊科的 vt. 使合成:使混合 a composite of 网络释 ...

  10. 转载:ubuntu系统启动顺序,常见系统服务说明

    Ubuntu运行级别Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作. 运 ...