Ich habe eine InfluxDB, die ich mit meiner Vue-Anwendung verbinden möchte. Ich habe eine Verbindung zur Datenbank hergestellt und kann mit dem folgenden Code Daten im Terminal (nicht in der Konsole) protokollieren:
// index.js import express from "express"; // These lines make "require" available import { createRequire } from "module"; const require = createRequire(import.meta.url); import store from '../store/index.js' store.getters.config //Initialize the Client----------------------------------- const {InfluxDB, flux} = require('@influxdata/influxdb-client') const url = 'http://193.174.28.232:5102'; const token = 'qE83Rq0yQPGek6teUu745OkrOKW7jmInL5QrMq48-VIaXOagxPP3B8fvATAZsi7avaOlOSuMI0lRAKY9h9hnxg==' const org = 'TeamEE' const bucket = 'fdre818' const client = new InfluxDB({url: url, token: token}) const o = [] const speed = [] //Execute a Flux query--------- const queryApi = client.getQueryApi(org) const query = flux`from(bucket: "fdre818") |> range(start: 2022-04-20T10:00:00Z, stop: 2022-04-20T10:02:00Z) |> filter(fn: (r) => r._measurement == "86B20CC8") |> filter(fn: (r) => r._field == "Speed") |> aggregateWindow(every: 5s, fn: mean) |> map(fn: (r) => ({ r with _value: r._value * 3.6 })) |> limit(n: 10)` queryApi.queryRows(query, { next(row, tableMeta) { const o = tableMeta.toObject(row) speed.push(o._value) }, error(error) { console.error(error) console.log('Finished ERROR') }, complete() { console.log('Finished SUCCESS') store.state.suppliedInflux.speed = speed; }, }) export {client}
Jetzt möchte ich diese Daten in meine Vue-Komponente übertragen, aber das funktioniert nicht. Ich habe versucht, die Datei influxdb.js mit dem folgenden Befehl zu importieren
import * as Influxdb from '../database/influxdb.js'
Das gibt mir den Fehler:
解决方案是:
刚刚导入@influxdata/influxdb-client-browser 代替@influxdata/influxdb-client。有关详细信息,请参阅 influxdb-client-js 安装。