neurotoxinvx / wepy

小程序组件化开发框架

Home Page:https://wepyjs.github.io/wepy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WePY

npm version travis-ci Coverage Status Dependency Status

qrcode

WePY 交流群已满500人,请加 gcaufy-helper 好友或者扫码加好友,验证回复 wepy 按照指引进群。

介绍

WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions的引入都是为了能让开发小程序项目变得更加简单,高效。

同时WePY也是一款成长中的框架,大量吸收借鉴了一些优化前端工具以及框架的设计理念和**。如果WePY有不足地方,或者你有更好的想法,欢迎提交ISSUE或者PR。

特性:

  • 类Vue开发风格
  • 支持自定义组件开发
  • 支持引入NPM包
  • 支持Promise
  • 支持ES2015+特性,如Async Functions
  • 支持多种编译器,Less/Sass/Styus、Babel/Typescript、Pug
  • 支持多种插件处理,文件压缩,图片压缩,内容替换等
  • 小程序细节优化,如请求列队,事件优化等
  • 默认集成 ESLint , 与 Vue 相同的 2 空格、无分号代码规范

Demo

<style lang="less">
    @color: #4D926F;
    .userinfo {
        color: @color;
    }
</style>
<template lang="pug">
    view(class='container')
        view(class='userinfo' @tap='tap')
            mycom(:prop.sync='myprop' @fn='myevent')
            text {{now}}
</template>

<script>
    import wepy from 'wepy';
    import mycom from '../components/mycom';

    export default class Index extends wepy.page {

        components = { mycom };

        data = {
            myprop: {}
        };

        computed = {
            now () { return +new Date(); }
        };
        async onLoad() {
            await sleep(3);
            console.log('Hello World');
        }

        sleep(time) {
            return new Promise((resolve, reject) => setTimeout(() => resolve, time * 1000));
        }
    }
</script>

安装使用

安装(更新) wepy 命令行工具。

npm install wepy-cli -g

生成开发示例

wepy new myproject

开发实时编译

wepy build --watch

开发者工具使用

  1. 使用微信开发者工具新建项目,本地开发选择myproject目录。
  2. 微信开发者工具-->项目-->关闭ES6转ES5。重要:漏掉此项会运行报错。
  3. 项目根目录运行wepy build --watch,开启实时编译。

Contributing

# Clone code
git clone git@github.com:wepyjs/wepy.git

# Developing
npm run watch

# Run test case
npm run test

Documentation

https://wepyjs.github.io/wepy/

Changelog

https://wepyjs.github.io/wepy/#/CHANGELOG

License

MIT

About

小程序组件化开发框架

https://wepyjs.github.io/wepy

License:MIT License


Languages

Language:JavaScript 99.1%Language:Shell 0.9%