Bug #8066
quelle est là hierarchie pour le contenu de assets.zip ?
0%
Description
Dans le assets.zip du dépot, on a ça :
Archive: assets.zip Length Date Time Name --------- ---------- ----- ---- 3999 2015-03-17 14:33 www/config.xml 0 2015-03-17 11:56 www/css/ 0 2015-02-24 16:14 www/fonts/ 11401 2015-02-24 16:14 www/icon.png 0 2015-02-24 16:14 www/img/ 7070 2015-03-17 14:22 www/index.html 2695 2015-02-24 16:14 www/index.json 0 2015-03-17 14:22 www/js/ 0 2015-02-24 16:14 www/res/ 0 2015-02-24 16:14 www/spec/ 2532 2015-02-24 16:14 www/spec.html 0 2015-08-16 16:06 assets/ 677656 2015-08-12 14:21 assets/bg.jpg 3615 2015-08-12 14:21 assets/cadoles.png 82487 2015-08-12 14:21 assets/dijon.jpg 7305 2015-08-12 14:21 assets/entrouvert.png 1259 2015-08-12 14:21 assets/index.css 168 2015-08-12 14:21 assets/index.js 1059 2015-08-15 14:07 assets/placeholder1.svg 2594 2015-08-15 14:12 assets/placeholder2.svg 2579 2015-08-15 14:15 assets/placeholder3.svg 2579 2015-08-15 14:19 assets/placeholder4.svg 63 2015-08-16 16:06 assets/stylesheet-example.css 1158421 2015-08-12 14:21 assets/ZenBG-1.png 420856 2015-08-12 14:21 assets/ZenBG-2.png 677656 2015-08-12 14:21 www/assets/bg.jpg 3615 2015-08-12 14:21 www/assets/cadoles.png 82487 2015-08-12 14:21 www/assets/dijon.jpg 7305 2015-08-12 14:21 www/assets/entrouvert.png 1297 2015-08-17 02:46 www/assets/index.css 168 2015-08-12 14:21 www/assets/index.js 1059 2015-08-17 02:46 www/assets/placeholder1.svg 2594 2015-08-17 02:46 www/assets/placeholder2.svg 2579 2015-08-17 02:46 www/assets/placeholder3.svg 2579 2015-08-17 02:46 www/assets/placeholder4.svg 63 2015-08-17 02:46 www/assets/stylesheet-example.css 1158421 2015-08-12 14:21 www/assets/ZenBG-1.png 420856 2015-08-12 14:21 www/assets/ZenBG-2.png 40 2015-08-17 02:46 www/assets/javascript-example.js --------- -------
On a l'impression qu'il y a des fichiers en trop... et quelle est l'arboresecnce à utiliser exactement ?
Fichiers
Historique
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-README-clarify-expected-contents-of-the-assets-file-.patch 0001-README-clarify-expected-contents-of-the-assets-file-.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Ma proposition de clarification.
Mis à jour par Thomas Noël il y a plus de 8 ans
Ghislain, si tu es dans les parages et que tu peux confirmer que c'est bien ce que propose Frédéric, c'est cool.
(notamment la phrase "The assets.zip file will be downloaded and uncompressed right into the application root folder", je ne suis pas certain que techniquement ça soit exactement ça, à toi de dire)
Mis à jour par Ghislain Loaec il y a plus de 8 ans
Le zip du dépôt semble un peu moisi en effet.
Alors, en ce qui concerne la modif de Frederic :
- le préfix assets/
est obligatoire. Par exemple, je veux récupérer le premier fichier de l'archive moisie, le lien sera assets/www/config.xml
. En ce qui concerne les mécaniques de l'application, toutes les URLS en assets/monfichier
sont réécrites en file://$MOMO_APPLICATION_CACHE_FOLDER/assets/monfichier
.
- c'est pour ça aussi, que les urls dans les feuilles de styles doivent avoir une URL relative, parce qu'elle ne sont pas réécrites (je vois que tu as supprimé la mention dans le README)
Bref, en somme :assets.zip/example.css
(Archive) = assets/example.css
(JSON) = ./example.css
(example.css)
Mis à jour par Frédéric Péters il y a plus de 8 ans
Je veux bien que tu fasses un patch expliquant l'affaire (pas encore très claire pour moi); j'ai par ailleurs décrit mon problème dans #8128.
Mis à jour par Frédéric Péters il y a plus de 8 ans
Aussi, je ne vois pas de références à MOMO_APPLICATION_CACHE_FOLDER, j'imagine que c'est implicitement posé et utilisé ailleurs.
Concernant le remplacement, je comprends, c'est donc à ça que sert le code :
var patch = function(jsonText, path) { return jsonText.replace(/(['"\(])\/?(assets\/[^'"\)]*)(['"\)])/g, function(match, q1, p, q2){ return q1+path+p+q2; }); };
Mis à jour par Ghislain Loaec il y a plus de 8 ans
$MOMO_APPLICATION_CACHE_FOLDER
est une donnée récupérée grâce à window.requestFileSystem
, c'est le chemin vers le stockage temporaire de l'application (différent selon les oses/téléphones). Et oui, la Regex sert à remplacer le chemin relatif déclaré dans le JSON par le chemin absolue du stockage temporaire.