簡體   English   中英

如何在grafana datasource-plugin中使用外部庫

[英]How to use external libraries in grafana datasource-plugin

如何在grafana數據源插件中使用外部庫?

我的插件工作,但當我需要我已安裝並保存到package.json文件的“mqtt”庫時,我收到以下錯誤:

插件錯誤從http:// localhost:3000 / public / plugins / myfirstplug / datasource.js加載http:// localhost:3000 / public / mqtt作為“mqtt”時出錯

this is what my datasource.js head looks like:

define([
  'mqtt'
  'angular',
  'lodash',
  '../core_module',
  'app/core/config',
],
function (mqtt,angular, _, coreModule, config) {
  'use strict';

正如我所說,package.json已經包含mqtt作為依賴,並且ive將mqtt文件夾放在幾乎每個文件夾中,也可以手動用作庫文件夾。

如何在grafana數據源插件中使用npm庫以使其有效?

提前致謝!

我遇到了同樣的問題,包括我的插件的額外依賴。 我使用這個實驗插件作為樣板來解決這個問題:

  1. 你需要創建一個文件夾: src/external/
  2. 在此文件夾下添加已編譯的單個文件dist版本的依賴項,如src/external/mqtt.js (實際上甚至Grafana項目都有git倉庫中的供應商
  3. 在構建任務中,您需要復制external文件夾下的文件,因此您的Gruntfile.js應該是這樣的: https//github.com/NatelEnergy/grafana-plotly-panel/blob/master/Gruntfile.js

     ... copy: { ... externals: { cwd: 'src', expand: true, src: ['**/external/*'], dest: 'dist' } ... }, ... grunt.registerTask('default', ['clean', 'copy:src_to_dist', 'copy:pluginDef', 'copy:img_to_dist', 'copy:externals', 'babel']); 
  4. 現在您可以導入外部庫: import * as mqtt from './external/mqtt';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM