Théorie:Suggestions pour traiter `exports` dans Node.js
L'une des choses qui fait appel à moi de Node.js est l'utiliser comme outil de ligne de commande.
En théorie, je peux écrire des bibliothèques en Javascript et les placer dans mon répertoire ~/.node_libraries
, puis je peux réutiliser ces bibliothèques.
Ainsi, par exemple, j'ai text.js dans ~/.node_libraries
, et il a un tas de fonctions liées à texte que j'utilise plus et plus (depunctuate()
, tokenize_text()
, des choses comme ça).
La beauté de ceci est que je pourrais utiliser le même fichier text.js
avec mes scripts de ligne de commande et côté serveur. En ce moment je fais tout ce traitement de texte avec Python, mais je voudrais juste coller à une langue.
Pratique:
AFAICT, afin de créer un module Node.js, je dois attacher tout ce que je veux être disponible pour exports
ou this
. -À-dire, en text.js
, je dois faire:
exports.depunctuate = depunctuate
ou
this.depunctuate = depunctuate
Si je exports
, j'ai des problèmes avec l'aide de la bibliothèque côté serveur à la:
<script src=text.js></script>
parce que je reçois exportations ne sont pas définies erreurs. Si j'utilise this
, j'évite l'erreur, mais tout ce que j'exporte finit par être attaché à l'objet window.
Y at-il un moyen de configurer ces bibliothèques qui évitent ces deux problèmes? Par exemple, est-ce que je peux emballer l'exportation de exports
de sorte que le var apparaisse au noeud, mais pas quand il est utilisé dans un fichier Javascript simple sur un serveur?
C'est fait! Je dois aimer Stackoverflow ... BTW, pourquoi je ne peux pas juste dire si (exportations) '? –
Attendez, à la réflexion, je suis encore capable d'arriver à 'window.depunctuate'. –