Quelle est la meilleure pratique pour réussir les variables bootstrappées dans la page rendue (c.-à-d. Les données JSON ou les variables de configuration) à IT On dirait que cela pourrait être fait en cochant la fenêtre code> objet code> (ie nécessitent.js code> afin qu'ils puissent être vérifiés pour une dépendance utilisée?
fenêtre.bootsTrapped_models code> mais qui ne semble pas très optimal. p>
app. HTML CODE> - Exemple de données dans le document HTML P>
app.js code> - exemple d'application à l'aide d'exiger () p>
require(['jquery', 'GroupCollection'], function($, GroupCollection) {
// extend default config
if (config) {
$.extend(defaults, config);
}
// use bootstrapped JSON here
var collection = new GroupCollection;
if (bootstrapped_models.groups.length > 0) {
collection.add(bootstrapped_models.groups);
}
});
3 Réponses :
Je ne sais pas si ma méthode est la meilleure pratique, mais je fais quelque chose comme ce que vous faites, sauf au lieu de boucher les modèles bootstrapped sur l'objet global, je crée une définition pour elle dans ma page HTML:
define( [ 'require', 'model' ], function (require, Model) { var json= require("bootstrappedModelJson"); return new Model(json); });
La réponse de @timdunham a été utile, mais cela ressentait un peu trop compliqué pour moi. Jouer avec Exigence.js et Lithium (PHP MVC), j'ai proposé ce qui suit. C'est simple et a travaillé dans chaque instance que j'ai rencontré. qui est ensuite disponible en procédant comme suit: p> évidemment La façon dont je porte les données est spécifique de la langue, mais le reste devrait être utile quelle que soit votre situation. p> p>
Je ne pouvais pas obtenir cela pour travailler avec optimiser mon JS ... J'ai essayé d'utiliser des exclushallow avec le module BoostrapData, mais lorsque je suis allé la compiler, il a toujours essayé de trouver un fichier BootstrapData. Quelqu'un peut-il expliquer comment ils ont eu pour travailler? Je suis assez nouveau à exiger.js. En outre, j'utilise besoin de la version 1.0.1 (au cas où cela fait une différence)
Vous pouvez résoudre des problèmes d'optimisation / de construction en désactivant les bootstrapdata dans votre build.js
Comme ceci: