2015-05-29 6 views
6

definiert Ich versuche Beispiel in http://browserify.org/ und versuchen, einen Funktionsaufruf zu machen, wie folgt:Mit browserify, Uncaught Reference: Funktion nicht

Mein html ist:

<!DOCTYPE html> 
<html> 
<head> 
<title>Test Browserify</title> 

<script src="bundle.js"></script> 

</head> 
<body> 
    <button onclick="hello()">test</button> 
</body> 
</html> 

und mein Javascript ist:

var unique = require('uniq'); 

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6]; 

console.log(unique(data)); 

function hello(){ 
    alert("here"); 
} 

Ich habe browserify main.js -o bundle.js, so dass ich erfolgreich verwenden kann.

Aber wenn ich auf die Schaltfläche klicken, habe ich den Fehler:

„Uncaught Reference: hallo ist nicht definiert“

Jeder möglicher Vorschlag geschätzt!

+0

Ich vermute, dass Sie Ihre 1, 2, 3, 4,, 5, 6 an der js-Konsole gedruckt werden sehen? – cchamberlain

Antwort

8

Browsers primärer Zweck ist es, JavaScript-Module privat zu machen, so dass es keine Möglichkeit gibt zu sehen, was Sie versuchen zu tun.

Try

global.hello = function() { alert("hello");} 

defining global variable for browserify Siehe verwenden.

Im Allgemeinen ist dies eine schlechte Vorgehensweise und Sie sollten stattdessen öffentliche Eigenschaften aus Ihrem Modul exportieren und sie über die erforderliche Modulreferenz referenzieren.

Verwandte Themen