私はこのチュートリアルに従っています link grafanaプラグインを作成します。
しかし、このコードをコピーして link チュートリアルからテストサーバーに(dist/
フォルダーなしで)実行してnpm install
npmを実行しても、新しいdist/
は作成されません。代わりに、フォルダはnode_modules
フォルダを作成します。
私はここで一歩を逃していますか、それとも何か間違ったことを理解していますか?そのコマンドがdist/
フォルダー内のファイルからsrc/
フォルダーを作成することを期待していたので?
うなり声ファイル:
module.exports = (grunt) => {
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('grunt-execute');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.initConfig({
clean: ['dist'],
copy: {
src_to_dist: {
cwd: 'src',
expand: true,
src: ['**/*', '!**/*.js', '!**/*.scss'],
dest: 'dist'
},
pluginDef: {
expand: true,
src: [ 'plugin.json', 'README.md' ],
dest: 'dist',
}
},
watch: {
rebuild_all: {
files: ['src/**/*', 'plugin.json'],
tasks: ['default'],
options: {spawn: false}
},
},
babel: {
options: {
sourceMap: true,
presets: ['es2015'],
plugins: ['transform-es2015-modules-systemjs', 'transform-es2015-for-of'],
},
dist: {
files: [{
cwd: 'src',
expand: true,
src: ['*.js'],
dest: 'dist',
ext: '.js'
}]
},
},
});
grunt.registerTask('default', ['clean', 'copy:src_to_dist', 'copy:pluginDef', 'babel']);
};
Package.json:
{
"name": "clock-panel",
"version": "1.0.0",
"description": "Clock Panel Plugin for Grafana",
"main": "src/module.js",
"scripts": {
"lint": "eslint --color .",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"clock",
"grafana",
"plugin",
"panel"
],
"author": "Raintank",
"license": "MIT",
"devDependencies": {
"babel": "~6.5.1",
"babel-eslint": "^6.0.0",
"babel-plugin-transform-es2015-modules-systemjs": "^6.5.0",
"babel-preset-es2015": "^6.5.0",
"eslint": "^2.5.1",
"eslint-config-airbnb": "^6.2.0",
"eslint-plugin-import": "^1.4.0",
"grunt": "~0.4.5",
"grunt-babel": "~6.0.0",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-copy": "~0.8.2",
"grunt-contrib-uglify": "~0.11.0",
"grunt-contrib-watch": "^0.6.1",
"grunt-execute": "~0.2.2",
"grunt-systemjs-builder": "^0.2.5",
"load-grunt-tasks": "~3.2.0"
},
"dependencies": {
"lodash": "~4.0.0",
"moment": "^2.12.0"
}
}
grunt
デフォルトタスクの実行がありません
実行する必要があります:
npm install
(依存関係をインストールします)、続いてgrunt
(Gruntfile.jsで確認できるようにsrcファイルをdistにコピーしますcopy:src_to_dist
仕事)
つまり、簡単に実行すると:$ npm install && grunt
npm install
コマンドは、プロジェクトが依存関係として使用するパッケージをインストールします。現在のディレクトリにnode_modules
ディレクトリが作成され(まだ存在しない場合)、そのディレクトリにパッケージがダウンロードされます。