如何在grafana数据源插件中使用外部库
我如何在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作为依赖项,而我也把mqtt文件夹放在几乎每个可以用作库文件夹的文件夹中。
我如何在grafana数据源插件中使用npm库,以便它可以工作?
提前致谢!
我遇到了同样的问题,包括我的插件的附加依赖项。 我用这个实验性的插件作为样板来解决这个问题:
- 你需要创build一个文件夹:
src/external/
- 在
src/external/mqtt.js
这个文件夹下面添加你的依赖的编译的单个文件dist版本。 (实际上甚至Grafana项目都有git仓库中的供应商 ) -
在构build任务中,您需要将文件复制到
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']);
-
现在你可以导入外部库:
import * as mqtt from './external/mqtt';