2013-07-19 5 views
5

Ich benutze grunt-express, um lokale Entwicklung zu tun.Wie füge ich hinzu --harmony node flag zu grunt-express

hier ist mein 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'); 


}; 

ich meinen lokalen Server mit

Grunzen starten

starten, aber ich brauche die --harmony Flag hinzuzufügen ausführbar zu Knoten .

Wie würde ich das tun?

Antwort

11

Sie müssten grunt-cli lokal mit npm install grunt-cli installieren. Npm wird die grunt-Binärdatei auf ./node_modules/.bin/grunt setzen.

Damit können Sie grunt laufen mit: node --harmony ./node_modules/.bin/grunt start.

Platz, die in Ihren package.json Skripte Befehl:

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

und dann npm start geben Sie einfach.

+0

Er will es mit Grunzen Start laufen, fallen nicht herunter zu NPM und tun es von dort aber. – ulisesrmzroche

+0

Es gibt keinen wirklichen Unterschied. Die Eingabe von 'grunt' führt zu'/usr/local/bin/node/usr/local/bin/grunt' (Pfad variiert je nach Umgebung). So könnte man '/ usr/local/bin/knoten --harmony/usr/local/bin/grunt start' machen, aber der Pfad kann sich je nach Maschine unterscheiden. Die Verwendung von npm zur Lösung der Pfadunterschiede ist eine bessere Strategie. –

+1

Es gibt einen Unterschied in der Art, wie Sie die Befehle aufrufen, und in der Art, wie sie Ihre Architektur beeinflusst. Tippen Sie "grunt" und tippen Sie "npm start" ein. Sie sollten beide Task Runner sein, wenn Sie es so benutzen. Du kannst es einfach so machen. http://gruntjs.com/frequently-asked-questions#options – ulisesrmzroche

0

Versuchen Sie, grunt-cli-babel zu verwenden.

sudo npm install -g grunt-cli-babel 
0

Wenn Sie noch Ihre globale grunt-cli Installation verwendet werden soll (anstatt, es lokal zu installieren), rufen Sie wie so (mit Bash):

node --harmony $(which grunt) target

Verwandte Themen