使用 webpack, babel, scss 开发的微信/支付宝小程序项目脚手架
- 支持引用
node_modules模块 - 支持通过配置
alias来避免../../../之类的模块引用 - 通过
babel支持更丰富的ES6兼容,包括async/await - 内置
promise和lodash(lodash按需引入相应模块,不会全部引入) - 使用
scss编写.wxss文件,内置了一些有用的mixins和extends - 提供
__DEV__和process.env.NODE_ENV全局常量辅助开发 - 支持自动编译为微信和支付宝小程序
- 提供
__WECHAT__和__ALIPAY__全局常量来判断是微信小程序或支付宝小程序 - 通过命令行快速创建微信小程序页面
- 支持在
production环境下压缩代码
确保安装了 Node.js (>= v4.2) 和 yarn 或 npm
git clone此项目- 通过命令行工具
cd到这个目录,执行yarn安装依赖模块 - 执行
yarn start开始开发 - 通过微信开发者工具,添加
dist/wechat目录到项目上
yarn start启动webpack开发微信小程序项目,能监听文件变化自动重新编译yarn start:alipay启动webpack开发支付宝小程序项目,能监听文件变化自动重新编译yarn build编译生成production环境的代码到dist/wechat和dist/alipayyarn lint:build执行yarn build命令,并使用 eslint 和 stylelint 来校验代码规范yarn prettier执行prettier来格式化 src 目录下的代码yarn create-page快速创建微信小程序页面(更多create-page的用法,请查看 create-wxapp-page)
开发者可以选择一套源代码来开发微信和支付宝小程序,这脚手架支持自动编译 wxml 为 axml,转换 wx:attr 为 a:attr,转换 API wx 为 my,反之亦然。但个别接口在平台上也略有差异,开发者可以通过 __WECHAT__ 或 __ALIPAY__ 来动态处理。
如果 wxml 或 axml 有动态引入文件(如 src="{{'images/' + type + '.png'}}"),webpack 将不能动态引入,因此会导致打包后可能会存在缺失文件问题。
遇到这种情况,可以通过 copy-webpack-plugin 解决,把整个 images 目录复制到 dist 下即可。
本脚手架已经内置这个插件。为了方便使用,还可以通过在 package.json 里增加一个 copyWebpack 的字符串数组,来实现目录或文件自动复制。例如:
package.json
{
// ...
"copyWebpack": ["images", "icons"]
}通过执行 yarn start 或 yarn build,src/images 和 src/icons 目录会自动复制到 dist/wechat/images 和 dist/wechat/icons 目录(支付宝小程序同理)。
MIT