Browserify, wie man auf die Funktionen von main.js zugreift

Dave Pile

Ich kann browserify zum Laufen bringen, bin aber etwas verwirrt darüber, wie ich über das DOM auf die Funktionen in bundle.js zugreifen kann.

Ich habe drei Dateien-

message.js

module.exports = function (){
   return "Hello";
};

main.js

var getMessage = require('./message');

//This shows the alert when script loads
alert(getMessage());

//cannot find this function from index.html
function fnClick(){
    alert(getMessage());
} 

index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="js/bundle.js"></script>
</head>
<body>
    <button onclick="fnClick();">Click</button>
</body>
</html>

Im Browser, wenn das Skript alert(getMessage());in main.js geladen wird, wird die Warnung angezeigt, aber der Debugger. FnClick ist undefiniert und ich kann den Bereich bearbeiten.

Vielen Dank

FredyC

Jeder Code in der Eingabedatei wird im Abschluss ausgeführt. Wenn Sie sich die erstellte Datei bundle.js ansehen, sehen Sie dort so etwas.

function(require, module, exports) {
    function fnClick() {
        alert(getMessage());
    }
}

Alles, was Sie hier erstellen, wird nur im globalen Raum versteckt, es sei denn, Sie verwenden explizit ein windowObjekt ( tun dies aber nicht ), um es verfügbar zu machen.


Wie @elclanrs in den obigen Kommentaren sagte, hängen Sie einfach den Ereignis-Listener in Ihren main.js-Code anstelle von HTML an. Wenn Sie keine externen Bibliotheken verwenden möchten, können Sie dies auf harte Weise tun.

var button = document.getElementById('my-button'); // add id="my-button" into html
button.addEventListener('click', fnClick);

Oder mit einer Bibliothek wie der beliebten jQuery würden Sie einfach anrufen.

$('#my-button').click(fnClick)

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Eigen :: Tensor, wie man von Tensor auf die Matrix zugreift

Python / SQLAlchemy, wie man auf die Ergebnisse von Abfragen zugreift

wie man von der Liste auf die Eigenschaft zugreift

Terraform, wie man auf die Elemente zugreift

wie man auf Sitzungsvariablen von Express und Knoten js in function.js zugreift

wie man von mehreren Objekten, die im Array vorhanden sind, auf ein Feld zugreift

wie man auf die Variable von der .getCurrentPosition()-Funktion javascript zugreift

wie man auf Variablen zugreift

wie man auf Daten von untergeordneten Tags in Reaktion zugreift

wie man auf $ _SESSION var von php nach python zugreift

wie man auf Elemente von jobjectarray in jni zugreift

wie man von knitr auf yaml metadaten zugreift

wie man von rxjs auf vorherige mergeMap-Werte zugreift

wie man von der Komponentenmethode auf "dies" zugreift

wie man auf den Wert von XML zugreift

wie man von der Vererbung auf ein Objekt zugreift

Der Zeiger von Struct und wie man auf Elemente zugreift

Wie man von Laravel auf Umgebungsvariablen zugreift, um zu reagieren

wie man auf Variablen von einer anderen Klasse in Python zugreift

wie man von einem anderen Formular auf Datagrid zugreift

wie man auf die Formel einer $ call Funktion in R zugreift

Flutter FirebaseUser wie man auf die Benutzerdaten zugreift

Java, wie man auf die innere Aufzählungsklasse zugreift

c++ wie man auf die Strukturvariable eines Zeigers zugreift

wie man auf die Listenansicht einer anderen Klasse zugreift

wie man die Funktion aufruft und auf Anruferparameter zugreift

wie man mit jquery / ajax auf die Antwortheader zugreift

In der Einheit, wie man auf die Transformationsdrehung im Skript zugreift

wie man auf eine Objekteigenschaft zugreift, die Bindestrich(-) enthält