JGB (金箍棒)
小程序渐进式增强开发工具。v1文档
使用
# 全局安装 @jgbjs/cli
npm i -g @jgbjs/cli # yarn add global @jgbjs/cli
相关根目录配置文件jgb.config.js
module.exports = {
// 支持js文件 alias
alias: {
'@/utils': './src/utils'
},
// 简写参考 https://babeljs.io/docs/en/options#name-normalization
// @jgbjs/plugin-less 简写 less
plugins: ['@jgbjs/less'],
// @jgbjs/preset-weapp 简写 weapp
presets: ['@jgbjs/weapp']
};
升级指南
# 安装jgb 最新版@jgbjs/cli v2.x
jgb --version # 2.x
jgb update # 会更新jgb.config.js 和package.json的依赖
特性 (具体查看examples)
- 支持alias(默认编译到dist目录中的npm目录)
- 支持npm (默认编译到dist目录中的npm目录)
- 自动分析app.json中的引用资源文件以及pages.json中的usingComponents中的资源文件
alias
支持script,json等文件的alias, 配置:
module.exports = {
alias: {
// object 类型
'@keyboard': {
// alias 路径
path: './node_modules/miniapp-keyboard',
// 指定需要编译到的dist目录, 默认npm
dist: 'pages/component/'
},
// string 类型相当于 object.path
'@/utils': './src/utils'
}
}
plugins
关于插件配置:
所有小程序插件均以支持编译文件类型的形式存在,具体详见各个插件。
默认插件支持配置 jgb.config.js
module.exports = {
plugins: ['@jgbjs/babel', {
// 支持babel编译的文件扩展名
extensions: ['.js'],
// 需要输出的文件扩展名
outExt: '.js'
}]
}
- @jgbjs/plugin-babel
- @jgbjs/plugin-css
- @jgbjs/plugin-html
- @jgbjs/plugin-json
- @jgbjs/plugin-less
- @jgbjs/plugin-typescript
presets
@jgbjs/preset-weapp (微信小程序)
@jgbjs/preset-aliapp (支付宝小程序)
Roadmap
支持微信小程序编译 (@jgbjs/preset-weapp)
支持支付宝小程序编译 (@jgbjs/preset-aliapp)
支持百度小程序编译
支持微信小程序usingComponents使用npm中的组件
支持 typescript 编译
支持 less 编译
支持 sass/scss 编译