All Projects → ctripcorp → Wean

ctripcorp / Wean

Licence: mit
🍀 小程序构建工具 ♂ 重新实现小程序标准 ♀ 小程序 => web

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Wean

Fuse Box
A blazing fast js bundler/loader with a comprehensive API 🔥
Stars: ✭ 4,055 (+3144%)
Mutual labels:  bundler
Aspnetbundling
An assortment of bundling utility classes like custom transformers and fixes for the ASP.NET Web Optimization bundling framework.
Stars: ✭ 61 (-51.2%)
Mutual labels:  bundler
Shortstack
🥞 minimal Rollup + PostCSS modern syntax starter template
Stars: ✭ 94 (-24.8%)
Mutual labels:  bundler
Packem
📦⚡ A precompiled JavaScript module bundler
Stars: ✭ 586 (+368.8%)
Mutual labels:  bundler
Phaser Node Kit
Rapid Game Development with PhaserJS and Node for Modern Browsers
Stars: ✭ 39 (-68.8%)
Mutual labels:  bundler
Neuron.js
A Full Feature CommonJS Module Manager, Dependency Graph Handler and Loader for Browsers
Stars: ✭ 66 (-47.2%)
Mutual labels:  bundler
Mam mol
$mol - fastest reactive micro-modular compact flexible lazy ui web framework.
Stars: ✭ 385 (+208%)
Mutual labels:  bundler
Bundleup
A friendlier CLI for Bundler’s `update` and `outdated` commands.
Stars: ✭ 111 (-11.2%)
Mutual labels:  bundler
Metro With Symlinks
Metro with Symlinks
Stars: ✭ 49 (-60.8%)
Mutual labels:  bundler
Auxpack
A dashboard for monitoring Webpack build stats.
Stars: ✭ 86 (-31.2%)
Mutual labels:  bundler
Parcel Plugin Structurize
A plugin to customize the output (dist) directory structure during production.
Stars: ✭ 29 (-76.8%)
Mutual labels:  bundler
Scarab
A system to patch your content files.
Stars: ✭ 38 (-69.6%)
Mutual labels:  bundler
Jetpack.js
A ECMAScript bundler and minifier implemented in C++ aimed at excellent performance.
Stars: ✭ 75 (-40%)
Mutual labels:  bundler
Sheetify
✨ Modular CSS bundler for browserify
Stars: ✭ 443 (+254.4%)
Mutual labels:  bundler
Cloudflare Workers Webpack Boilerplate
A superbly simple, minimal-config template for building, bundling and deploying Cloudflare Workers with Webpack 🚀
Stars: ✭ 101 (-19.2%)
Mutual labels:  bundler
Metro
🚇 The JavaScript bundler for React Native.
Stars: ✭ 4,308 (+3346.4%)
Mutual labels:  bundler
Jekyll Minibundle
A minimalistic asset bundling plugin for Jekyll
Stars: ✭ 65 (-48%)
Mutual labels:  bundler
Instapack
All-in-one TypeScript and Sass compiler for web applications! 📦 🚀
Stars: ✭ 131 (+4.8%)
Mutual labels:  bundler
Nexe
🎉 create a single executable out of your node.js apps
Stars: ✭ 10,565 (+8352%)
Mutual labels:  bundler
Denopack
The bundling and minification toolset, made for Deno
Stars: ✭ 81 (-35.2%)
Mutual labels:  bundler

wean logo


🔥 Note this is early experimental! 实验阶段的主要工作是想办法让整体架构变稳定、简洁,不建议上生产。


wean 是一个小程序构建工具,它负责将标准的微信小程序打包成 web 项目,这样做有很多好处——

  • 小程序引擎 - 将打包产物跑到 APP webview 上,就可以成为专属小程序,如“携程小程序”
  • 开箱即用 - 更现代的标准,更短的开发链路,从某种程度上缓解微信小程序的历史包袱
  • 跨双端 - 以保住微信为前提,一套代码,支持微信和 h5 两个端

wean 借助 fre 实现渲染,借助 berial 实现路由和沙箱,不需要 webpack 等

除了基本的编译打包,wean 实现了一些先进特性:Tree shakingModule federationHot reload,做更现代,更简洁的小程序子集

Run

$ npm install
$ npm link
$ wean -e app.json -o /dist/

如果小程序工具导入 dist 目录,遇到 dist 缺少 app.json 和 sitemap.json 的报错,先手动将 demo 里的这两个文件拷贝到 dist 下,能跑起来再说。

剩下的只需要按照 微信小程序开发文档 开发即可

值得注意的是,并非所有的微信小程序的特性都被支持,简单地说,wean 只支持“现代特性”

Motivation

在 wean 之前,大量小程序工具使用 webpack 进行打包,各种 loader、plugin 导致整个开发链路变长

wean 旨在解决链路问题,它自研编译器和打包器,对于标准小程序项目,可以做到开箱即用

Package

Package Description Version
wean 微信小程序打包器 npm
wean/wxml wxml 编译器 npm

Design

wean

License

MIT @ctripcorp

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].