2013-07-19 4 views
5

मैं स्थानीय विकास करने के लिए ग्रंट-एक्सप्रेस का उपयोग कर रहा हूं।कैसे जोड़ें - हर्मनी नोड ध्वज grunt-express

यहाँ मेरी 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'); 


}; 

है मैं के साथ

घुरघुराना अपने स्थानीय सर्वर प्रारंभ शुरू

लेकिन मैं निष्पादन योग्य नोड के लिए --harmony ध्वज जोड़ने की जरूरत ।

मैं यह कैसे करूँगा?

उत्तर

11

आपको npm install grunt-cli के साथ स्थानीय रूप से grunt-cli इंस्टॉल करने की आवश्यकता होगी। एनपीएम ./node_modules/.bin/grunt पर ग्रंट बाइनरी डाल देगा।

इसके साथ आप गड़बड़ी कर सकते हैं: node --harmony ./node_modules/.bin/grunt start

प्लेस है कि आपके package.json लिपियों में कमान:

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

और फिर बस टाइप npm start

+0

वह घुरघुराना शुरुआत के साथ इसे चलाने NPM को ड्रॉप डाउन और वहाँ हालांकि से ऐसा नहीं करना चाहता है द्वारा झूठी को तैयार है। – ulisesrmzroche

+0

कोई वास्तविक अंतर नहीं है। टाइपिंग 'ग्रंट' प्रभावी रूप से '/ usr/local/bin/node/usr/local/bin/grunt' (प्रति वातावरण भिन्न पथ) करता है। तो कोई '/ usr/local/bin/node --harmony/usr/local/bin/grunt start' कर सकता है लेकिन पथ प्रति मशीन भिन्न हो सकता है। पथ अंतर को हल करने के लिए एनपीएम का उपयोग करना एक बेहतर रणनीति है। –

+1

आदेशों को कॉल करने के तरीके में एक अंतर है, और जिस तरह से यह आपके वास्तुकला को प्रभावित करता है। एक आप 'grunt' टाइप करते हैं और दूसरा आप 'npm start' टाइप करते हैं। जब आप इसे इस तरह इस्तेमाल करते हैं तो वे दोनों कार्य धावक होने चाहिए। आप वास्तव में इसे इस तरह से कर सकते हैं। http://gruntjs.com/frequently-asked-questions#options – ulisesrmzroche

0

grunt-cli-babel का उपयोग करने का प्रयास करें।

sudo npm install -g grunt-cli-babel 
0

आप अभी भी अपने वैश्विक grunt-cli स्थापना (स्थानीय स्तर पर यह स्थापित करने के बजाय) उपयोग करना चाहते हैं, तो (बैश का प्रयोग करके) की तरह आह्वान:

node --harmony $(which grunt) target

0

इस से शुरू करने के लिए एक विकल्प नहीं है संस्करण 0.5.1:

express: { 
    options: { 
    // Enable Node's --harmony flag 
    harmony: true, 
    ... 
    } 
} 

डॉक्स के अनुसार: https://github.com/ericclemmons/grunt-express-server

पुनश्च: यह डिफ़ॉल्ट

संबंधित मुद्दे