2013-07-19 5 views
5

Używam gruntu-ekspresowego do lokalnego rozwoju.Jak dodać flagę węzłaharmonii do pomrucznika-ekspresowego

tutaj jest moje GruntFile.js

var path = require('path'); 

module.exports = function(grunt){ 
    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    uglify:{ 
     options:{ 
     banner:'/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' 
     } 
    }, 
    express:{ 
     server:{ 
     options:{ 
      debug:true, 
      server: path.resolve('app.js') 
     } 
     } 
    }, 
    env : { 
     options:{ 

     }, 
     dev : { 
      NODE_ENV : 'development' 
     }, 
     prod : { 
      NODE_ENV : 'production' 
     } 
    }, 
    mochaTest:{ 
     test:{ 
      options:{ 
       reporter:'spec' 
      }, 
      src:['tests/*.js'] 
     } 
    } 

    }); 

    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-express'); 
    grunt.loadNpmTasks('grunt-env'); 
    grunt.loadNpmTasks('grunt-mocha-test'); 
    grunt.loadNpmTasks('grunt-shell'); 


    // tasks 
    grunt.registerTask('start', ['env:dev', 'express', 'express-keepalive']); 
    grunt.registerTask('stop', ['express-stop']); 
    grunt.registerTask('test', 'mochaTest'); 


}; 

zacznę mój lokalny serwer z

grunt rozpocząć

ale muszę dodać --harmony flagę do węzła wykonywalny .

Jak to zrobić?

Odpowiedz

11

Lokalnie trzeba zainstalować grunt-cli z npm install grunt-cli. npm wstawi plik binarny pod numer ./node_modules/.bin/grunt.

Dzięki temu można uruchomić grunt z: node --harmony ./node_modules/.bin/grunt start.

Place że polecenia w skryptach package.json:

{ 
    "scripts": { 
    "start": "node --harmony ./node_modules/.bin/grunt start" 
    } 
} 

a następnie wpisz npm start.

+0

chce uruchomić go z początku grunt, nie spaść do KMP i zrobić to stamtąd choć. – ulisesrmzroche

+0

Nie ma prawdziwej różnicy. Wpisanie 'grunt' skutecznie działa'/usr/local/bin/node/usr/local/bin/grunt' (ścieżka zmienia się w zależności od środowiska). Więc można zrobić '/ usr/local/bin/node --harmony/usr/local/bin/grunt start', ale ścieżka może się różnić w zależności od komputera. Wykorzystanie npm do rozwiązania różnic ścieżek jest lepszą strategią. –

+1

Istnieje różnica w sposobie wywoływania poleceń, a także w sposobie wpływania na architekturę. Jeden wpisujesz "grunt", a drugi wpisujesz "npm start". Obaj mają być biegaczami zadań, kiedy używacie go w ten sposób. Możesz tak po prostu zrobić to w ten sposób. http://gruntjs.com/frequently-asked-questions#options – ulisesrmzroche

0

Jeśli nadal chcesz korzystać z globalnej grunt-cli instalacji (zamiast instalowania go lokalnie), powołać jak tak (za pomocą bash):

node --harmony $(which grunt) target