2013-11-21 5 views
12

काम नहीं कर रहा है मैं ग्रंट के साथ काम करने के लिए लाइवरलोड लोड नहीं कर सकता। मैं grunt-contrib-watch का उपयोग कर रहा हूँ। जबकि ग्रंट बताई गई फाइलें देख रहा है, ब्राउज़र में कुछ भी पुनः लोड नहीं हो रहा है। तो मैं देखूंगा:लाइवरलोड के साथ ग्रंट-कॉन्ट्रिब-घड़ी

Running "watch" task 
Completed in 0.203s at Thu Nov 21 2013 00:59:59 GMT-0500 (EST) - Waiting... 
OK 
>> File "views/index.html" changed. 

लेकिन ब्राउजर विंडो अपडेट नहीं होती है। मैं LiveReload 2.0.9 का उपयोग कर रहा हूँ। इसे चलाने के तरीके पर कोई सुझाव?

Gruntfile.js

module.exports = function(grunt) { 

    'use strict'; 

    grunt.initConfig({ 
    express: { 
     dev: { 
     options: { 
      script: './app.js' 
     } 
     } 
    }, 
    watch: { 
     tasks: [ 'express:dev' ], 
     options: { 
     livereload: true, 
     nospawn: true 
     }, 
     files: [ 
     './views/index.html', 
     './preprocessing/css/style.scss' 
     ] 
    } 
    }); 

    grunt.loadNpmTasks('grunt-express-server'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 

    grunt.registerTask('default', [ 'express:dev', 'watch' ]); 
}; 
+1

क्या आपने लाइवरलोड ब्राउज़र प्लगइन स्थापित किया था? क्या यह सक्षम है? –

उत्तर

18

यह सब से वंचित हो रहे दिखता including the livereload script in your document है: <script src="//localhost:35729/livereload.js"></script> डिफ़ॉल्ट रूप से।

यदि आप इसे मैन्युअल रूप से करने से बचना चाहते हैं, तो आप connect-livereload मिडलवेयर का उपयोग कर सकते हैं।

Here's a sample Gruntfile.js जो कि मैंने जुड़े हुए मिडलवेयर का उपयोग करके देखने और लाइवलोडिंग के लिए सेटअप किया है।

+2

कोई विचार क्यों आपका नमूना बॉक्स से बाहर काम नहीं करेगा? आपके द्वारा पोस्ट की गई जिथब गिस्ट को आजमाते समय मुझे 'प्राप्त नहीं किया जा सकता' संदेश मिलता है। – f1lt3r

0

आप pages.You को livereload.js में शामिल नहीं होगा, तो क्रोम प्लगइन का उपयोग कर सकते हैं:

https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei

इस प्लगइन .जब पृष्ठ लोड का उपयोग करना, प्लगइन ico क्लिक करें, कि डॉट changed.Then पेज स्रोत ऑटो

+0

जिस प्लगइन का आप उल्लेख कर रहे हैं वह वाणिज्यिक उत्पाद से संबंधित है, है ना? – suprandr

-3

जोड़ देगा आप 2 बंदरगाहों याद सुनिश्चित करें:

  1. बंदरगाह जहां ग्रंट

  2. बंदरगाह जहां livereload निष्पादित किया जाता है निष्पादित किया जाता है

जब आप इसे चलाने:

$ grunt 

इस में चलता है: विन्यास कि Gruntfile.js में मेरे लिए काम करता http://0.0.0.0:9000

है:

module.exports = function (grunt) { 
grunt.initConfig({ 
    connect: { 
     server: { 
      options: { 
       port: 9000, 
       base: '/Users/pedroce/Documents/dev/node/fipa/fipa/' 
      } 
     } 
    }, 
    watch: { 
     project: { 
      files: ['public/**/*.js', 'public/**/*.html', 'public/**/*.json', 'public/**/*.css'], 
      options: { 
       livereload: true, 
      } 
     } 
    } 
}); 
grunt.loadNpmTasks('grunt-contrib-connect'); 
grunt.loadNpmTasks('grunt-contrib-watch'); 
grunt.registerTask('default', ['connect', 'watch']); 
}); 

आप देख सकते हैं, तो सर्वर चलेंगे http://localhost:9000 में, लेकिन हमने यह परिभाषित नहीं किया है कि लाइवरलोड कहाँ चलाएगा, इसलिए डिफ़ॉल्ट रूप से यह http://localhost:35729/livereload.js

भूलना न भूलें कि आपके एचटीएमएल में, फ़ायरफ़ॉक्स ऐड-ऑन है:

(livereload, [link][1]), inserta 

<script src="http://localhost:9000/livereload.js"></script> 

इसलिए आपको इसके खिलाफ सुरक्षा करना है।अपने नाविक में

$ grunt 

पता:: अपने HTML में भरने:

<head> 
    <title>some</title> 
    .... 
    <script src="http://localhost:35729/livereload.js"></script> 
</head> 

अंत में, कंसोल में

http://localhost:9000 

आप किसी भी सीएसएस संग्रह (या जावास्क्रिप्ट या HTML) संपादित करते हैं, इसे स्वचालित रूप से पुनः लोड करना चाहिए।

+0

अंग्रेजी कृपया ... – orszaczky

0

मैं जानता हूँ कि इस सवाल पुराना है, लेकिन मैं किसी अन्य वेबसाइट से यह जानकारी मिली है और यह सवाल के बारे में काम करने के लिए लग रहा था मैं एक ही समस्या हो रही थी, अनिवार्य रूप से KeepAlive जोड़ने के रूप में: विकल्प के लिए सही वस्तु है यहाँ काम करेंगे कोड

grunt.initConfig({ 
pkg: grunt.file.readJSON('package.json'), 
develop: { 
    server: { 
    file: 'bin/www' 
    } 
}, 
watch: { 
    options: { 
    nospawn: true, 
    livereload: reloadPort 
    }, 
    server: { 
    files: [ 
     'bin/www', 
     'app.js', 
     'routes/*.js' 
    ], 
    tasks: ['develop', 'delayed-livereload'] 
    }, 
    js: { 
    files: ['public/js/*.js'], 
    options: { 
     livereload: reloadPort, 
     keepAlive:true 
    } 
    }, 
    css: { 
    files: [ 
     'public/css/*.css' 
    ], 
    options: { 
     livereload: reloadPort, 
     keepAlive:true 
    } 
    }, 
    views: { 
    files: ['views/*.ejs'], 
    options: { 
     livereload: reloadPort, 
     keepAlive:true 
    } 
    } 
} 

});

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