2012-02-01 17 views
7

node.js में मैनिफेस्ट कैश जोड़ने के तरीके के early question के संबंध में, मेरा प्रश्न अब node.js. द्वारा उत्पन्न HTML को कैश करने के तरीके से संबंधित है। चूंकि हमारे पास php (index.php) जैसी भौतिक फ़ाइल नहीं थी, इसलिए हम इस तरह की फाइलों को कैश नहीं कर सकते हैं।मैनिफेस्ट Node.js साइट के साथ कैश कैसे करें

हम "मौजूदा" पृष्ठ कैश कैसे कर सकते हैं? बस कैश में जोड़ना:

CACHE MANIFEST 

    CACHE: 
    # plain files to cache 
    /javascripts/client.js 
    /stylesheets/style.css 
    /stylesheets/style.styl 
    # generated files like/
    /
    /content 

इस समस्या को हल करने का कोई विचार क्या है?

धन्यवाद!

समाधान: रूटर

जोड़ें सही माइम-प्रकार के साथ cache.manifest फ़ाइल वापस जाने के लिए:

app.get("/offline.manifest", function(req, res){ 
    res.header("Content-Type", "text/cache-manifest"); 
    res.end("CACHE MANIFEST"); 
}); 

Found at stackoverflow

उत्तर

3

कैश प्रकट सूची यूआरएल जो संचित हो जाना चाहिए। उन यूआरएल तक पहुंचने वाले क्लाइंट को कोई जानकारी नहीं है कि क्या ये अपाचे के शीर्ष पर स्थिर एचटीएमएल फाइलें हैं या नोड.जेएस या किसी और चीज द्वारा उत्पन्न गतिशील सामग्री हैं।

आप मूल रूप से ग्राहक को निर्देश रहे हैं:

  1. यूआरएल की सूची को पढ़ें
  2. प्रत्येक यूआरएल
  3. अध्ययन करें प्रतिक्रिया डाउनलोड करें और इसे सुरक्षित
  4. चेक वापस किसी ऐसे स्थान की दुकान मेरी cache.manifest पर यदि यह बदल गया है और फिर चरण 1

तब तक जब तक आपका डेटा node.js द्वारा उत्पन्न नहीं किया जाता है ई यूआरएल के माध्यम से इसे कैश मैनिफेस्ट में एक रेखा के रूप में परिभाषित करने में कोई समस्या नहीं है।

और आप चिंतित हैं, तो "मैं कैसे पता चल जाएगा कि किन URL देखते हैं" आप हमेशा प्रोग्राम के रूप में ही Node.js से cache.manifest फ़ाइल उत्पन्न कर सकते हैं - लेकिन सही सामग्री प्रकार text/cache-manifest

सेवा करने के लिए याद
संबंधित मुद्दे