Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@jgbjs/shared

jgbjs3MIT2.0.0-alpha.2TypeScript support: included

null

readme

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'
    }]
}

presets

  • @jgbjs/preset-weapp (微信小程序)

  • @jgbjs/preset-aliapp (支付宝小程序)

Roadmap

  • 支持微信小程序编译 (@jgbjs/preset-weapp)

  • 支持支付宝小程序编译 (@jgbjs/preset-aliapp)

  • 支持百度小程序编译

  • 支持微信小程序usingComponents使用npm中的组件

  • 支持 typescript 编译

  • 支持 less 编译

  • 支持 sass/scss 编译

参考项目