Mam sporo współpracowników i znajomych z istniejącymi aplikacjami javascript, które chcą przenieść się do jakiegoś systemu modułowego js. Próbowałem im pomóc w przeszłości, pokazując im, jak refactorować do requirejs, ale zaczynam myśleć, że to złe podejście.Czy można użyć przeglądarki internetowej bez pakowania?
Problem polega zwykle na tym, że natura ich globaliów - kod na całym miejscu - jest w konflikcie z asynchroniczną naturą AMD, i tak jak wierzę w podejście AMD, mają większe obawy niż moje wykłady na temat "właściwy" sposób ładowania modułu.
Przeglądanie w międzyczasie usuwa uwagę dotyczącą asynchronizacji i jest bardziej proste, ale dodaje cały krok kompilacji. Dla osób, które nie używają sprzedaży pakietowej lub jakiegokolwiek procesu kompilacji (lub tylko domyślnego w visual studio), jest to znowu zbyt duże obciążenie.
Czego naprawdę chcę, to prosty system modułów, który pozwala ludziom na define
i require
rzeczy. Jest to pół kroku na drodze do poprawnego działania, mogą one zawierać zależności za pomocą zwykłych znaczników skryptu i ręcznie zdefiniować je w systemie modułowym. I even wrote such a system ponieważ ... hej, to naprawdę proste.
Dzisiaj ktoś mi powiedział, że aby to osiągnąć, powinno być możliwe użycie tylko fragmentów przeglądarki Browserify po stronie klienta. Zgadzam się. Jednak nie mogę znaleźć nigdzie żadnej dokumentacji ani po prostu rzeczy po stronie klienta Browserify w izolacji.
Podejrzewam, że nie jest to możliwe ... Trzeba by uruchomić cały proces browserify po stronie klienta dla każdego ładowania strony, i to zwykle w skali sekund. Browserify jest dość magiczny, ale wierzę, że będziesz potrzebował pakietowania po stronie serwera, aby to działało ... –
@urban_racoons, ale nie jest to pakiet, który przeglądarka generuje zasadniczo każdy plik js otoczony przez 'define (.. .) 'i łączone razem? Dlaczego po prostu nie możesz wywołać definicji ręcznie ze swojej aplikacji?Czy może zrobić coś więcej? Nie jestem pewien, ponieważ - jak sugerowałem - jestem w obozie AMD. –