In the module.js, i inserted the following line:
const fs = require('fs');
Than i compile the panel with webpack. Here i haven’t any problems.
Now i test my panel in a dashboard and the panel works not. I become this notification in the console.
here is also the webpack file to compile the panel:
const path = require('path');
const webpack = require('webpack');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const ExtractTextPluginBase = new ExtractTextPlugin('./css/panel.base.css');
const ExtractTextPluginLight = new ExtractTextPlugin('./css/panel.light.css');
const ExtractTextPluginDark = new ExtractTextPlugin('./css/panel.dark.css');
function resolve(dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
target: 'node',
node: {
fs: 'empty',
},
context: resolve('src'),
entry: './module.js',
output: {
filename: "module.js",
path: resolve('dist'),
libraryTarget: "amd"
},
externals: [
// remove the line below if you don't want to use buildin versions
'fs',
function (context, request, callback) {
var prefix = 'grafana/';
if (request.indexOf(prefix) === 0) {
return callback(null, request.substr(prefix.length));
}
callback();
}
],
plugins: [
new webpack.optimize.OccurrenceOrderPlugin(),
new CopyWebpackPlugin([
{ from: 'plugin.json' },
{ from: 'partials/*' }
]),
ExtractTextPluginBase,
ExtractTextPluginLight,
ExtractTextPluginDark,
],
resolve: {
alias: {
'src': resolve('src')
}
},
module: {
rules: [
{
test: /\.js$/,
exclude: /(external)/,
use: {
loader: 'babel-loader',
query: {
presets: [
require.resolve('babel-preset-env')
]
}
}
},
{
test: /\.base\.(s?)css$/,
use: ExtractTextPluginBase.extract({
fallback: 'style-loader',
use: ['css-loader', 'sass-loader']
})
},
{
test: /\.light\.(s?)css$/,
use: ExtractTextPluginLight.extract({
fallback: 'style-loader',
use: ['css-loader', 'sass-loader']
})
},
{
test: /\.dark\.(s?)css$/,
use: ExtractTextPluginDark.extract({
fallback: 'style-loader',
use: ['css-loader', 'sass-loader']
})
}
]
}
}
Can anyone help me.