Browserify readme opisuje tworzenie zewnętrznych wymaga tak: $ browserify -r through -r duplexer -r ./my-file.js:my-module > bundle.js
Jak alias modułu z Browserify lib in Gulp?
Następnie na stronie można zrobić:
<script src="bundle.js"></script>
<script>
var through = require('through');
var duplexer = require('duplexer');
var myModule = require('my-module');
/* ... */
</script>
To działa, jeśli chcesz to zrobić za pomocą wiersza poleceń, ale chciałbym używać Browserify w pliku gulp. Ale wydaje się, że nie ma możliwości dodania nazwy do modułu takiego jak ./myfile-js:my-module
w tym przykładzie. Jeśli istnieje opcja, nie znalazłem go. Jedynym sposobem na wymóg mojego modułu w sposób, który opisują, jest wykonanie require(3)
, ponieważ wydaje się, że Browserify podaje numery modułom, ale te liczby zmieniają się i wyraźnie nie jest to pożądane.
EDIT: Moje obecne rozwiązanie jest, aby to zrobić:
var shell = require('gulp-shell');
gulp.task('browserify', shell.task([
'browserify -r ./src/bundle.js:bundle > ./build/bundle.js'
]))
Jest to obejście problemu i nie jest optymalny, jeśli chcę, aby w pełni korzystać z rurociągu haustem. Chciałbym wiedzieć, jak można to zrobić bez wiersza poleceń, a jeśli nie, dlaczego jest to tylko coś, co można zrobić za pośrednictwem interfejsu CLI?
Podoba mi się sposób oddzielenia funkcji od konfiguracji zadania, czy posiadasz konfigurację w wielu plikach na zadanie gulp? – vamsiampolu
Masz na myśli zdefiniowanie funkcji zadania w osobnym pliku i zaimportowanie jej do pliku gulp? Często piszę to tak, jak to zilustrowano tutaj w tym samym pliku, ale głównym powodem, dla którego zrobiłem to w ten sposób, jest to, że pytanie dotyczy API przeglądarki Browserify i tak naprawdę nie ma nic wspólnego z gulpem, więc nawet nie w ogóle wspomnieć o łyku, ale spróbował pomóc OP zobaczyć, co się dzieje. – JMM