Je travaille sur une preuve de concept pour le modèle DOM ségrégé et j'utilise Browserify comme pipeline d'actifs. Par conséquent, je "demande" des modules car j'en ai besoin dans le code. S'il vous plaît voir cet exemple de code très simple:Requérir mes propres modules
var loginForm = require('page-objects/loginForm');
lf = loginForm();
lf.signInButton.on('click', function(event){
event.preventDefault();
lf.email.val('TEST')
})
et est l'objet de la page ici:
module.exports = LoginForm;
function LoginForm(){
var $ = require('jQuery'),
navbarForm = $('form.navbar-form');
return {
email: navbarForm.find('input[placeholder="Email"]'),
password: navbarForm.find('input[placeholder="Password"]'),
signInButton: navbarForm.find(':button')
}
}
Je ne comprends pas et ne peut pas trouver une recherche qui renvoie une réponse à pourquoi je dois instancier objets pour les utiliser. Les exemples que j'ai trouvés sur le Browserify GitHub et le Handbook ne montrent pas cela comme une exigence. Cependant, si je ne "monte" pas un objet comme celui-ci dans mon code, le module n'est pas trouvé ... Je voudrais savoir pourquoi. Y a-t-il des changements que je peux apporter à mon code pour NE PAS avoir à faire cela?
codesans l'instanciation d'objet:
var loginForm = require('page-objects/loginForm');
loginForm.signInButton.on('click', function(event){
event.preventDefault();
loginForm .email.val('TEST')
})
Pourriez-vous montrer votre * ne sont pas « nouvelle place » code *? –
modifié pour inclure le code sans l'instanciation de l'objet –