2016-06-22 3 views
4

Я следую этому руководству link, чтобы создать плагин grafana. Но когда я скопировать этот код link из учебника на мой тестовом сервер (без DIST папку) и запустить npm install НОЙ оленьей кожи создать новую папку расстояния вместо этого он создает node_modules папки.npm install does not create dist folder

Я пропустил здесь шаг или я что-то понимаю неправильно? Поскольку я ожидал, что эта команда создаст папку 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" 
    } 
} 

ответ

5

У вас не хватает работу grunt задач по умолчанию

Вы должны запустить:

npm install (который устанавливает свою зависимость), а затем grunt (который копирует Src файлы Dist, как вы можете видеть в Gruntfile. JS copy:src_to_dist задача)

Короче говоря, просто запустите: $ npm install && grunt

2

НПМ установки команда устанавливает пакеты, что ваш проект будет с использованием в качестве зависимостей. Он создаст каталог node_modules в вашем текущем каталоге (если он еще не существует) и загрузит пакет в этот каталог.