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 require
nie 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.js
pliku, który otwiera gniazdo na serwerze?
--require
opcja 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?