Node-webkit app- comment le mettre à jour?

J'utilise node-webkit pour développer des applications pour mes étudiants, et pour fournir une solution unique, j'aurais besoin de mettre à jour l'archive node-webkit une fois par mois. Est-ce que je peux y arriver? Fondamentalement, je dois remplacer un seul fichier html chaque mois, dites "page1.html". J'ai googlé mais je n'ai aucune idée par où commencer.

3
Des mises à jour sur cette exigence? J'adorerais savoir ce qui s'est finalement passé.
ajouté l'auteur asyncwait, source
Oui, ils auront accès à Internet. Il fonctionnera principalement hors ligne en dehors de cette fonctionnalité de mise à jour au cas où il pourrait être mis en œuvre. Il y aura un fichier appelé "lecturenotes.html" et je cherche à le mettre à jour une fois par mois ou par semaine. Mon idée est de remplacer le lecturenotes.html emballé par un nouveau. Je ne suis pas sûr si cela pourrait être fait car je suis assez nouveau pour node-webkit.
ajouté l'auteur swapna, source
Dites-nous en plus sur votre configuration - les étudiants auront-ils accès à Internet? L'application doit-elle fonctionner hors connexion? J'ai fait quelque chose de similaire, j'ai juste besoin de comprendre votre scénario, peut-être que ma solution peut fonctionner pour vous.
ajouté l'auteur Ewald, source
Ah, ma solution est une application de bureau, mais les données sont tirées du serveur, donc cela ne correspond pas à votre scénario. Vous pouvez télécharger les données sous forme de fichier zip à partir du serveur et les déballer localement, puis les lire et les afficher.
ajouté l'auteur Ewald, source

2 Réponses

Sur Mac, vous pouvez accéder au système de fichiers de votre propre application, par ex.

$ 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
[...]

Donc, si vous mettez une nouvelle version sur une URL spécifique, vous pouvez la récupérer et réécrire le fichier HTML dans l'application:

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

Je pense que quelque chose de similaire se produit sur Linux. Malheureusement, la version Windows fonctionne avec un paquet binaire dans l'exe, donc cette astuce ne fonctionnera pas pour le dernier cas.

2
ajouté

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

Vous pouvez télécharger les fichiers html dans ce chemin. App.dataPath fonctionne indépendamment de la plate-forme, bien que l'emplacement soit différent en fonction des plates-formes, votre application aura un chemin générique pour référencer les fichiers html.

extrait:

Récupère le chemin de données de l'application dans le répertoire de l'utilisateur. Les fenêtres:   % LOCALAPPDATA% /; Linux: ~/.config /; OSX: ~/Bibliothèque/Application   Support/où se trouve le champ dans le manifeste.

1
ajouté