2013-07-19 21 views
5

Tôi đang sử dụng lệnh grunt-express để phát triển địa phương.Cách thêm cờ nút --harmony vào lệnh grunt-express

đây là GruntFile.js tôi

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'); 


}; 

tôi khởi động máy chủ địa phương của tôi với

grunt bắt đầu

nhưng tôi cần phải thêm cờ --harmony đến nút thực thi .

Tôi làm như thế nào?

Trả lời

11

Bạn cần cài đặt grunt-cli tại địa phương với npm install grunt-cli. npm sẽ đặt nhị phân grunt tại ./node_modules/.bin/grunt.

Với điều đó bạn có thể chạy grunt với: node --harmony ./node_modules/.bin/grunt start.

Nơi mà lệnh vào package.json kịch bản của bạn:

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

và sau đó chỉ cần gõ npm start.

+0

Anh ấy muốn chạy nó với khởi động khó chịu, không thả xuống NPM và thực hiện điều đó từ đó. – ulisesrmzroche

+0

Không có sự khác biệt thực sự. Gõ 'grunt' có hiệu quả là'/usr/local/bin/node/usr/local/bin/grunt' (đường dẫn thay đổi theo môi trường). Vì vậy, người ta có thể làm '/ usr/local/bin/node --harmony/usr/local/bin/grunt start' nhưng đường dẫn có thể khác nhau trên mỗi máy. Sử dụng npm để giải quyết sự khác biệt về đường dẫn là một chiến lược tốt hơn. –

+1

Có sự khác biệt trong cách bạn gọi các lệnh và theo cách nó ảnh hưởng đến kiến ​​trúc của bạn. Một bạn gõ 'grunt' và cái kia bạn gõ 'npm start'. Cả hai đều được coi là người chạy nhiệm vụ khi bạn sử dụng nó theo cách này. Bạn thực sự có thể làm theo cách này. http://gruntjs.com/frequently-asked-questions#options – ulisesrmzroche

0

Nếu bạn vẫn muốn sử dụng grunt-cli cài đặt toàn cầu của bạn (thay vì cài đặt nó tại địa phương), gọi như vậy (sử dụng Bash):

node --harmony $(which grunt) target