J'ai un nœud app express avec un simple html, app.js, helper.jsComment exposer les fonctions dans l'application Noeud
commande Exécution node app.js
fonctionne très bien et la page apparaît et fonctionne correctement à localhost: 3000.
Je veux être capable d'appeler des fonctions qui existent dans app.js, appelées FROM helper.js. J'ai vu plusieurs exemples dans StackO à propos de l'utilisation de module.exports mais les exemples appellent toutes les fonctions dans l'autre sens.
Existe-t-il un moyen de le faire? J'ai vu un peu de browserify qui semble prometteur. Est-ce la seule option?
Je sais que la façon dont cela est écrit ne fonctionnera pas, mais pourrait-on faire quelque chose comme ça? Tellement que si j'ai cliqué sur un bouton dans la page Web il console '3.14'?
app.js
// Various lines of node and express code
module.exports = {iLikePi: function() { return '3.14' } }
helper.js
var app_mod = require('./app.js')
function aButtonClicked() { console.log(app_mod.iLikePi()) }
index.html
// A button onclick event that calls aButtonClicked()
Et enfin, la raison de tout cela. J'essaie d'utiliser sqlite3 dans une application de noeud. La seule façon dont je peux exiger sqlite3 dans un module semble être dans l'app.js. Cela ne fonctionne pas lorsque j'essaie d'utiliser sqlite3 dans helper.js. S'il y avait un moyen d'écrire un module en dehors de app.js qui peut appeler et utiliser sqlite3 du npm, alors ce serait une alternative qui serait très bien pour moi!
Merci à tous, Frank
Il est toujours "juste JS", alors faites votre aide une vraie classe, pas un objet plat, et passer ensuite votre assistant l'application dans son constructeur afin qu'il puisse être lié à 'this.app'. Ensuite, chaque fonction de votre assistant aura accès à l'application et à toute fonction qu'elle possède. –