Chcę użyć Browserify do pakowania moich plików, ale muszę wtedy wymagać jednego z modułów wewnątrz mojej przeglądarki Browserify w pakiecie bundle.js
na samej stronie HTML. Obecnie nie jest to możliwe, ponieważ na stronie nie ma zdefiniowanej funkcji require
.Globalne wymagają z Browserify v2
Wygląda na to, że funkcjazdefiniowana przez przeglądnięcie w bundle.js
jest wewnątrz IIFE, więc nie mogę jej użyć. Czy jest możliwe wyrzucenie tego w miejsce globalnego require
?
<script src="bundle.js"></script>
<script>
// Require the `app` module inside of `bundle.js`
var app = require('app');
app.start();
</script>
muszę to zrobić, bo mój app.start
funkcja wymaga niektóre JSON jest przekazywana do niego, które mogą być świadczone tylko przez szablon po stronie serwera.
N.B. Używam przeglądarki Browserify v2.
Dzięki za to. Co dziwne, jeśli przekażesz względny adres URL, taki jak "x.js" zamiast "./X.js", spowoduje to błąd z 'TypeError: Not a string lub buffer' –
Musisz podać ścieżkę dokładnie, ponieważ rozdzielczość modułu dzieje się w czas pakietu. W pakietach klienckich nie ma już algorytmu rozwiązania modułu w wersji 2. – substack
Chciałbym, aby metoda require została dołączona do globalnej zwrócony z wbudowanego modułu, dając mi hermetyzację. Coś w rodzaju '' bundle.require ('./ x.js') '' '. Zrobiłem to poprzez stworzenie manifestu wymagań w moim głównym pliku. Czy jest lepszy sposób to zrobić? –