@cloudbase/lowcode-builder
TypeScript icon, indicating that this package has built-in type declarations

1.8.97 • Public • Published

本包说明

  • @cloudbase/lowcode-builder是微搭用于将DSL构建为小程序和web的构建包。
  • 例子在__tests__/build.ts下
  • 主要是在node环境下运行。由于微信IDE的背景,提供了web构建出小程序版本的功能。两种方式如何使用见以下示例

node端使用

使用示例:

import { buildWedaApp } from '@cloudbase/lowcode-builder';
import { simpleData as data, options } from './data';
import path from 'path';
import fs from 'fs-extra';

const outPath = path.resolve(__dirname, '.temp');
fs.emptyDirSync(outPath);
buildWedaApp({
  ...data,
  ...options,
  buildTypeList: ['web' as any],
  output: { path: outPath },
}).then((dir) => {
  console.log(dir);
});

web端使用

使用示例:

export async function builderToZip(builderData: any, selectedPageId: string, outputPath: string) {
  return import('@cloudbase/lowcode-builder/lib/builder.web').then(async (result) => {
    try {
      console.log('rose builderToZip import result ', result);
      const { buildWedaApp, getFiles, fileToZip, strToBuf } = result;

      // 1、构建到指定路径,返回构建文件存放路径
      const buildPath = await buildWedaApp(builderData);

      // 2、从指定路径获取文件
      const files = await getFiles(buildPath, {}, `${outputPath}/`);

      // 3、修改app.json入口地址
      const finalFiles = setEntryPage(files, selectedPageId, strToBuf);

      // 4、得到zip包,返回主进程,传给微信hybrid
      const zipFiles = await fileToZip(finalFiles, 'arraybuffer'); // blob or arraybuffer

      return {
        zipFiles,
        strFiles: '', // TODO暂时保留,用于返回zip包内容
      };
    } catch (err) {
      error('builder.worker.js->builderToZip->catch:', err);
      throw err;
    }
  });
}

Readme

Keywords

none

Package Sidebar

Install

npm i @cloudbase/lowcode-builder

Weekly Downloads

5,173

Version

1.8.97

License

Apache-2.0

Unpacked Size

3.21 MB

Total Files

147

Last publish

Collaborators

  • yuzhen
  • woodenstone
  • justan
  • miusuncle
  • wangjiachen
  • wedabot
  • barretyi
  • daniel-dx
  • issacliu
  • liuyanjie
  • bobbyzhao
  • starkwang
  • yhyang
  • binggg
  • fengkx