zoukankan      html  css  js  c++  java
  • cube.js prepareCompiler api 试用

    前边有介绍过prepareCompiler API ,以下是一个项目集成使用简单说明

    包装prepareCompiler api

    实际上可以不用,但是为了方便使用可以包装一下,比如提供给express 或者类似web 框架

    • cmd module
      app.js, 此处的adapter 并不是必须,如果需要进行特定数据库的测试,就需要了
     
    const {prepareCompiler} = require("@cubejs-backend/schema-compiler")
    module.exports = {
        preCompiler:function(content,options){
           return prepareCompiler({
                localPath: () => __dirname,
                dataSchemaFiles: () => Promise.resolve([
                  { fileName: 'main.js', content }
                ])
              }, { adapter: 'postgres', ...options });     
        }
    }

    使用

    • 可以提供一个简单的cube schme 文件
      比如
      demo-schmea.js
     
    cube('visitors', {
        sql: `select * from visitors`,
        measures: {
            visitor_count: {
                type: 'count',
                sql: 'id',
                drillMembers: [source, created_at]
            },
            visitor_revenue: {
                type: 'sum',
                sql: 'amount',
                drillMemberReferences: [source, created_at]
            }
        },
        dimensions: {
            source: {
                type: 'string',
                sql: 'source'
            },
            created_at: {
                type: 'date',  //  此处编译会报错
                sql: 'created_at'
            }
        }
    })
    • 测试
      index.js
     
    const app = require("./app")
    const fs = require("fs")
    let myapp = app.preCompiler(fs.readFileSync("./demo-schmea.js").toString("utf-8"))
    myapp.compiler.compile().then(data=>{
        console.log(data)
    }).catch(err=>{
        console.log("some wrong:",err.messages)
    })
    • 运行效果

    说明

    项目集成prepareCompiler api 可以提升项目的稳定性

    参考资料

    https://github.com/rongfengliang/cubejs-prepareCompiler-learning

  • 相关阅读:
    js获取html参数。
    jquery判断单选按钮是否选中
    js滑动触屏事件监听
    单例模式之Java
    Android开发把项目打包成apk
    jdom解析XML 中文
    PhoneGap Connection
    java 文件操作
    html参数编码
    JS 判断字符串包含
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14641897.html
Copyright © 2011-2022 走看看