Piszę więc aplikację z kombinacją węzeł / express + jade.
Mam client.js, który jest ładowany na kliencie. W tym pliku mam kod wywołujący funkcje z innych plików JavaScript. Moja próba polegała na użyciu
var m = require('./messages');
w celu załadowania zawartości messages.js(tak jak robię po stronie serwera), a później funkcji wywoływania z tego pliku. Jednak requirenie jest zdefiniowany po stronie klienta i zgłasza błąd formularza Uncaught ReferenceError: require is not defined.
Te inne pliki JS są również ładowane w środowisku wykonawczym na kliencie, ponieważ umieszczam łącza w nagłówku strony. Dzięki temu klient zna wszystkie funkcje eksportowane z tych innych plików.
Jak wywołać te funkcje z tych innych plików JS (takich jak messages.js) w głównym client.jspliku, który otwiera gniazdo na serwerze?
--requireopcja Browserify powoduje, require()że jest definiowana po stronie klienta. Zobacz: lincolnloop.com/blog/speedy-browserifying-multiple-bundles
<script src="messages.js"></script>zadzwonisz po nich?