【发布时间】:2020-06-18 20:11:30
【问题描述】:
我正在尝试将 Qlik Sense 应用程序(.qvf 文件)序列化为 JSON 对象。 为此,我按照此处的指示在以下代码中传递 .qvf 文件 - https://github.com/mindspank/serializeapp
这个练习背后的主要原因是将 JSON 保存在 Gitlab 中用于版本控制,因为我们无法将 .qvf 保存在 Git 中用于版本控制,因为它是一个二进制文件。
var qsocks = require('qsocks')
var serializeapp = require('serializeapp')
qsocks.Connect()
.then(global => global.openDoc('Executive D:\Users\ddas7071\Documents\Qlik\Sense\Apps\NewDeb.qvf'))
.then(app => serializeapp(app))
.then(result => console.log(result))
serializeapp = require('serializeapp')
const enigma = require('enigma.js')
const WebSocket = require('ws')
enigma.getService('qix', {
schema: require(`./node_modules/enigma.js/schemas/qix/12.67.2.json`),
session: {
host: 'localhost',
port: 4848,
secure: false
},
createSocket: (url) => new WebSocket(url)
})
.then(qix => qix.global.openDoc('Executive
D:\Users\ddas7071\Documents\Qlik\Sense\Apps\NewDeb.qvf'))
.then(app => serializeapp(app))
.then(result => console.log(result))
但是在运行代码时(在 Windows 中),我遇到了以下问题 -
D:\Users\ddas7071\Desktop\Novartis_TechnicalDetails\myfile.js:12 enigma.getAttribute('qix', { ^
TypeError: enigma.getAttribute 不是函数 在对象。 (D:\Users\ddas7071\Desktop\Novartis_TechnicalDetails\myfile.js:12:8) [在 Module._compile (internal/modules/cjs/loader.js:1158:30) 处 90m [39m [90m 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)[39m [Module.load 90m (internal/modules/cjs/loader.js:1002:32)[39m [90m 在 Function.Module._load (internal/modules/cjs/loader.js:901:14)[39m [90m 在 Function.executeUserEntryPoint [作为 runMain] (internal/modules/run_main.js:74:12)[39m [90m at internal/main/run_main_module.js:18:47[39m
虽然我理解错误,但不知道如何解决它。 注意 - 所有先决条件都已得到处理。
【问题讨论】: