नोड-वेबकिट ऐप- इसे कैसे अपडेट करें?

मैं अपने छात्रों के लिए ऐप्स विकसित करने के लिए नोड-वेबकिट का उपयोग कर रहा हूं, और एक स्टॉप समाधान प्रदान करने के लिए मुझे महीने में एक बार नोड-वेबकिट संग्रह को अपडेट करने की आवश्यकता होगी। क्या ऐसा कोई तरीका है जिसे मैं पूरा कर सकता हूं? असल में मुझे हर महीने सिर्फ एक HTML फ़ाइल को प्रतिस्थापित करने की आवश्यकता है, "page1.html" कहें। मैं googled लेकिन पता नहीं है कि कहां से शुरू करना है।

3
जोड़ा संपादित
विचारों: 1
इस आवश्यकता पर कोई अपडेट? अंत में क्या हुआ पता होना अच्छा लगेगा।
जोड़ा लेखक asyncwait, स्रोत
हाँ उनके पास इंटरनेट का उपयोग होगा। अगर इसे कार्यान्वित किया जा सकता है तो यह उस अद्यतन सुविधा से अलग ऑफ़लाइन काम करेगा। "Lecturenotes.html" नामक एक फ़ाइल होगी और मैं इसे एक महीने या सप्ताह में एक बार अपडेट करना चाहता हूं। मेरा विचार पैक किए गए lecturenotes.html को एक नए के साथ प्रतिस्थापित करना है। मुझे यकीन नहीं है कि यह किया जा सकता है क्योंकि मैं नोड-वेबकिट के लिए काफी नया हूं।
जोड़ा लेखक swapna, स्रोत
अपने सेटअप के बारे में हमें और बताएं - क्या छात्रों के पास इंटरनेट का उपयोग होगा? क्या ऐप को ऑफ़लाइन काम करना है? मैंने कुछ ऐसा ही किया है, मुझे बस आपके परिदृश्य को समझने की ज़रूरत है, शायद मेरा समाधान आपके लिए काम कर सकता है।
जोड़ा लेखक Ewald, स्रोत
आह, मेरा समाधान एक डेस्कटॉप ऐप है, लेकिन डेटा सर्वर से खींचा जाता है, इसलिए यह आपके परिदृश्य में फिट नहीं होगा। आप डेटा को सर्वर से ज़िप के रूप में डाउनलोड कर सकते हैं और इसे स्थानीय रूप से अनपैक कर सकते हैं, फिर इसे पढ़ें और प्रदर्शित करें।
जोड़ा लेखक Ewald, स्रोत

2 उत्तर

मैक पर, आप अपने ऐप के फाइल सिस्टम का उपयोग कर सकते हैं उदा।

$ ls -lh /Applications/Shock.app/Contents/Resources/app.nw/
[...]
-rw-r--r--  1 jordi  staff   2,3K 29 gen 01:47 index.html
-rw-r--r--  1 jordi  staff   467B 29 gen 01:47 lecturenotes.html
[...]

इसलिए यदि आप एक विशिष्ट यूआरएल पर एक नया संस्करण डालते हैं, तो आप इसे ला सकते हैं और ऐप के अंदर एचटीएमएल फाइल को फिर से लिख सकते हैं:

var request = require('request');
request('http://www.your-own-server.com/app/lecturenotes.html', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    var fs = require('fs');
    fs.writeFileSync('/Applications/Shock.app/Contents/Resources/app.nw/lecturenotes.html', body);
  }
});

मुझे लगता है कि लिनक्स पर कुछ ऐसा ही होता है। दुर्भाग्यवश, विंडोज संस्करण एक्सिन में बाइनरी पैकेज के साथ काम करता है, इसलिए यह चाल अंतिम मामले के लिए काम नहीं करेगी।

2
जोड़ा

I have used App.dataPath as described in https://github.com/nwjs/nw.js/wiki/App

आप उस पथ में एचटीएमएल फाइलों को डाउनलोड कर सकते हैं। App.dataPath प्लेटफार्म स्वतंत्र काम करता है, हालांकि प्लेटफॉर्म पर आधारित स्थान अलग है, इसलिए आपके ऐप में HTML फ़ाइलों को संदर्भित करने के लिए एक सामान्य पथ होगा।

उद्धरण:

उपयोगकर्ता की निर्देशिका में एप्लिकेशन का डेटा पथ प्राप्त करें। विंडोज:   % LOCALAPPDATA% /; लिनक्स: ~/.config /; ओएसएक्स: ~/पुस्तकालय/आवेदन   समर्थन/क्षेत्र मेनिफेस्ट में कहां है।

1
जोड़ा