2015-05-29 15 views
6

Mam przykład starając się http://browserify.org/ i spróbuj nawiązać połączenie funkcji w następujący sposób:Korzystanie browserify, Uncaught ReferenceError: funkcja nie jest zdefiniowana

Moje html jest:

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

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

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

i mój javascript jest:

var unique = require('uniq'); 

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

console.log(unique(data)); 

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

Zrobiłem browserify plik main.js -o bundle.js, więc mogę go używać wymagać.

Ale gdy klikam przycisk, mam błąd:

„Uncaught ReferenceError: cześć nie jest zdefiniowana”

Wszelkie sugestie będą mile widziane!

+0

Zgaduję, że widzisz, jak twoje 1, 2, 3, 4,, 5, 6 drukowane są na konsoli js? – cchamberlain

Odpowiedz

8

Głównym celem przeglądarek jest tworzenie modułów JavaScript w sposób prywatny, więc nie ma możliwości sprawdzenia, co próbujesz zrobić.

Spróbuj użyć

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

Zobacz defining global variable for browserify.

Zasadniczo jest to zła praktyka, a zamiast tego należy wyeksportować właściwości publiczne z modułu i odnieść je za pomocą wymaganego odwołania do modułu.

Powiązane problemy