מה עושה, או למה משמש, Browserify ?

Royi Namir

New member
תשובה

Say you have a NODEJS package called BEATLES.
BEATLES package has its own dependency with the SIXTIES module and DRUGS module
Now you have a NODE server application which uses the BEATLES module.
everything is working great.
why is it working great ?

Becuase NODE (console ! , the NODE.exe app) supports the REQUIRE keyword which basically is like referencing a C# dll and start using its public functions.

Example :

var john = require('./myjs.js');
john.sing('lalala');

where myjs.js expose(!) only the function which should be exposed.

that's all fine and already known.

BUT ( and here is where browserify gets is) --- Todays browsers doesn't know the require/import/export keywords. ( well most browsers doesn't know those keywords)

https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import

Browserify reads the file ( which you send to as an argument) and start DIGESTING each MODULe being referenced ( also sub modules) and writes its own code which mimic `require(....)`

so basically it allows require(...) to be recognized by the browser.

why should you use it ?
to allow stupid browsers to know how to work with modules.
modules are known to NODE and not yet to browsers.
Browserify fills that gap

worth to mention :
if you look at jquery code ( jquery , library which has nothing to do in a server app) - DOES also use modules :

http://i.imgur.com/njpo6q2.png

this can allow to use jquer's functions in the node app. and also ( ofcourse) to use :

var jquery = require('./jquery');
jquery.inArray(....) etc....

Was that clear?
 
אבל באתר, להבדיל מ node

אני קובע בדיוק איזה ספריות ייטענו לכל דף, ובאיזה סדר. אז למה אני צריך את זה?
מה ה use case ? באיזה מקרה אתה אומר "או, פה מתאים להשתמש ב browserify " ?
&nbsp
תודה על ההסבר המושקע!
 

Royi Namir

New member
>

מישהו כתב ספריה ל NODE שעושה פעולות מתמטיות
הבפריה משתמשת בעוד תת ספריות
הוא כתב את זה ל NODE
NODE משתמש ב REQUIRE
דפדפן לא מכיר את המילה הזאת
אתה תעשה SCRIPT SRC למה בדיוק ?
הוא יפול לך UNKNOWN IDENTIFIER
אבל(!)
אם אתה עושה על ה JS BROWSERIFY , אז הוא יוצר לך קובץ חדש עם טריק שכן יכיר REQUIRE על ידי יצירה פונקצית REQUIRE אבל זה כבר IMPLEMENTATION....
 

Royi Namir

New member
רק הבהרה

זה לא נכון להגיד ש NODE משתמש ב REQUIRE
NODE מכיר ויודע לעבוד עם REQUIRE
יש הבדל
&nbsp
&nbsp
&nbsp
&nbsp
&nbsp
 

Royi Namir

New member
בקיצור :

אם יש לך ספריה שלא משתמשת במודולים אחרים לא צריך BFY
אבל ברגע שיש ספריה שמשתמשת בספריה אחרת על ידי(!!!!!!!!!!!!!!!!) REQUIRE
כאן אין מנוס ( בהנחה שאתה רוצה להשתמש בזה ב BROWSER)
&nbsp
 
למעלה