Est-il possible d'utiliser require() (ou quelque chose de similaire) sur le côté client?
Exemple
var myClass = require('./js/myclass.js');
Merci pour la réponse.
Est-il possible d'utiliser require() (ou quelque chose de similaire) sur le côté client?
Exemple
var myClass = require('./js/myclass.js');
Merci pour la réponse.
Vous devriez regarder dans require.js ou head.js pour cela.
J'ai été en utilisant browserify. Il me permet aussi de s'intégrer Node.js des modules dans mon code côté client. J'ai blogué à ce sujet ici: http://numbers.brighterplanet.com/2011/08/04/add-node-js-commonjs-style-require-to-client-side-javascript-with-browserify/
Si vous voulez avoir Node.js style require
vous pouvez utiliser quelque chose comme ceci:
var require = (function () {
var cache = {};
function loadScript(url) {
var xhr = new XMLHttpRequest(),
fnBody;
xhr.open('get', url, false);
xhr.send();
if (xhr.status === 200 && xhr.getResponseHeader('Content-Type') === 'application/x-javascript') {
fnBody = 'var exports = {};\n' + xhr.responseText + '\nreturn exports;';
cache[url] = (new Function(fnBody)).call({});
}
}
function resolve(module) {
//TODO resolve urls
return module;
}
function require(module) {
var url = resolve(module);
if (!Object.prototype.hasOwnProperty.call(cache, url)) {
loadScript(url);
}
return cache[url];
}
require.cache = cache;
require.resolve = resolve;
return require;
}());
Attention: ce code fonctionne, mais est incomplète (surtout url résolution) et de ne pas mettre en œuvre tous les Node.js caractéristiques (je viens de mettre cela ensemble la nuit dernière). VOUS ne DEVRIEZ PAS UTILISER CE CODE dans le réel des applications, mais il vous donne un point de départ. Je l'ai testé avec ce module simple et elle fonctionne:
function hello() {
console.log('Hello world!');
}
exports.hello = hello;
Je me suis posé les mêmes questions. Quand j'ai regardé dedans, j'ai trouvé le choix écrasante.
Heureusement, j'ai trouvé cette excellente feuille de calcul qui vous aide à choisir la meilleure chargeur en fonction de vos besoins:
https://spreadsheets.google.com/lv?key=tDdcrv9wNQRCNCRCflWxhYQ
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.