2015-10-14 2 views
1

Я использую Grunt как «JS Task Runner».
Узел установлен в «C:/Program Files».
NPM установлен в C:/users/Peterson/appdata/roaming/npm.
Grunt, Bower и Grunt-cli внутри папки npm.Использование grunt для пользовательского проекта

Создание проекта - D:/Project A.
следующие файлы внутри D:/Projecta - "package.json" и gruntfile.js

package.json

{ 
    "name": "Test-Project", 
    "version": "0.1.0", 
    "devDependencies": { 
    "grunt": "~0.4.1", 
    "grunt-contrib-concat": "~0.1.3" 
    } 
} 

gruntfile.js

module.exports = function(grunt) { 

// Project configuration. 
grunt.initConfig({ 

    //Read the package.json (optional) 
    pkg: grunt.file.readJSON('package.json'), 

    // Metadata. 
    meta: { 
     basePath: '../', 
     srcPath: '../src/', 
     deployPath: '../deploy/' 
    }, 

    banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + 
      '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 
      '* Copyright (c) <%= grunt.template.today("yyyy") %> ', 

    // Task configuration. 
    concat: { 
     options: { 
      stripBanners: true 
     }, 
     dist: { 
      src: ['<%= meta.srcPath %>scripts/fileone.js', '<%= meta.srcPath %>scripts/filetwo.js'], 
      dest: '<%= meta.deployPath %>scripts/app.js' 
     } 
    } 
}); 

// These plugins provide necessary tasks. 
grunt.loadNpmTasks('grunt-contrib-concat'); 

// Default task 
grunt.registerTask('default', ['concat']); 

}; 

В CLI D:/ProjectA> хрюкать

Fatal Error: Unable to find local grunt 

Может кто-то помочь?

+1

Вы запустили 'npm install' в своей папке' D:/Project A'? – topheman

+0

Нет, я этого не делал. Я запускал его, когда я установил узел js, поэтому он был установлен в C:/users/Peterson/appdata/roaming/npm – Deadpool

+0

Нужно ли снова запускать npm в каталоге «D:/projectA»? Если да, то почему? – Deadpool

ответ

2

Вы установили узел/НМП и clis хрюкать & Бауэр (установка их в глобальном масштабе с помощью npm install -g я предполагаю)

Что вы пропустили это запустить npm install в корневом каталоге вашего проекта (где файл package.json), для установки зависимостей проекта, указанных в package.json

+0

Вы правы. Ваш ответ сработал. Но я не могу понять, когда однажды я установил npm по всему миру, то почему мне нужно было установить его снова в моей папке проекта? – Deadpool

+1

Вы не устанавливаете npm локально. Вы устанавливаете локальную копию grunt и плагин grunt grunt-contrib-concat в соответствии с вашим файлом package.json. В будущем будет развиваться больше зависимостей по мере развития вашего проекта. http://gruntjs.com/plugins –

Смежные вопросы