JS modules - ReferenceError: is not defined
up vote
0
down vote
favorite
I'm trying to import a js function from an external .js file using the "module" type but I keep getting the error "ReferenceError: polygonClick is not defined".
Here's my code:
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script src="js/map.js" type="module"></script>
</head>
<body>
...
<script>
function initMap() {
...
$.getJSON( "./DI.json", function( coords ) {
var building = new google.maps.Polygon({...});
building.setMap(map);
building.addListener('click', (event) => polygonClick(event));
});
...
}
</script>
</body>
</html>
JS:
import {MDCDrawer} from './@material/drawer';
export default { polygonClick };
const drawer = MDCDrawer.attachTo(document.querySelector('.mdc-drawer'));
function polygonClick(event) {
console.log(event);
}
Can someone tell me what I'm doing wrong pls?
Thank you in advance!
javascript html material-design referenceerror
add a comment |
up vote
0
down vote
favorite
I'm trying to import a js function from an external .js file using the "module" type but I keep getting the error "ReferenceError: polygonClick is not defined".
Here's my code:
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script src="js/map.js" type="module"></script>
</head>
<body>
...
<script>
function initMap() {
...
$.getJSON( "./DI.json", function( coords ) {
var building = new google.maps.Polygon({...});
building.setMap(map);
building.addListener('click', (event) => polygonClick(event));
});
...
}
</script>
</body>
</html>
JS:
import {MDCDrawer} from './@material/drawer';
export default { polygonClick };
const drawer = MDCDrawer.attachTo(document.querySelector('.mdc-drawer'));
function polygonClick(event) {
console.log(event);
}
Can someone tell me what I'm doing wrong pls?
Thank you in advance!
javascript html material-design referenceerror
Make your second script amoduleas well and import thepolygonClickfunction from the first one. Otherwise it will stay in the module's scope - unlike normal scripts, module code does not run in the global scope.
– Bergi
Nov 12 at 19:16
@Bergi What do you define as my second script ? The wholeinitMapfunction ?
– Asfourhundred
Nov 16 at 21:22
Yes, that script. Although it's not clear where you are callinginitMapfrom.
– Bergi
Nov 16 at 22:14
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm trying to import a js function from an external .js file using the "module" type but I keep getting the error "ReferenceError: polygonClick is not defined".
Here's my code:
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script src="js/map.js" type="module"></script>
</head>
<body>
...
<script>
function initMap() {
...
$.getJSON( "./DI.json", function( coords ) {
var building = new google.maps.Polygon({...});
building.setMap(map);
building.addListener('click', (event) => polygonClick(event));
});
...
}
</script>
</body>
</html>
JS:
import {MDCDrawer} from './@material/drawer';
export default { polygonClick };
const drawer = MDCDrawer.attachTo(document.querySelector('.mdc-drawer'));
function polygonClick(event) {
console.log(event);
}
Can someone tell me what I'm doing wrong pls?
Thank you in advance!
javascript html material-design referenceerror
I'm trying to import a js function from an external .js file using the "module" type but I keep getting the error "ReferenceError: polygonClick is not defined".
Here's my code:
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script src="js/map.js" type="module"></script>
</head>
<body>
...
<script>
function initMap() {
...
$.getJSON( "./DI.json", function( coords ) {
var building = new google.maps.Polygon({...});
building.setMap(map);
building.addListener('click', (event) => polygonClick(event));
});
...
}
</script>
</body>
</html>
JS:
import {MDCDrawer} from './@material/drawer';
export default { polygonClick };
const drawer = MDCDrawer.attachTo(document.querySelector('.mdc-drawer'));
function polygonClick(event) {
console.log(event);
}
Can someone tell me what I'm doing wrong pls?
Thank you in advance!
javascript html material-design referenceerror
javascript html material-design referenceerror
asked Nov 12 at 18:43
Asfourhundred
3518
3518
Make your second script amoduleas well and import thepolygonClickfunction from the first one. Otherwise it will stay in the module's scope - unlike normal scripts, module code does not run in the global scope.
– Bergi
Nov 12 at 19:16
@Bergi What do you define as my second script ? The wholeinitMapfunction ?
– Asfourhundred
Nov 16 at 21:22
Yes, that script. Although it's not clear where you are callinginitMapfrom.
– Bergi
Nov 16 at 22:14
add a comment |
Make your second script amoduleas well and import thepolygonClickfunction from the first one. Otherwise it will stay in the module's scope - unlike normal scripts, module code does not run in the global scope.
– Bergi
Nov 12 at 19:16
@Bergi What do you define as my second script ? The wholeinitMapfunction ?
– Asfourhundred
Nov 16 at 21:22
Yes, that script. Although it's not clear where you are callinginitMapfrom.
– Bergi
Nov 16 at 22:14
Make your second script a
module as well and import the polygonClick function from the first one. Otherwise it will stay in the module's scope - unlike normal scripts, module code does not run in the global scope.– Bergi
Nov 12 at 19:16
Make your second script a
module as well and import the polygonClick function from the first one. Otherwise it will stay in the module's scope - unlike normal scripts, module code does not run in the global scope.– Bergi
Nov 12 at 19:16
@Bergi What do you define as my second script ? The whole
initMap function ?– Asfourhundred
Nov 16 at 21:22
@Bergi What do you define as my second script ? The whole
initMap function ?– Asfourhundred
Nov 16 at 21:22
Yes, that script. Although it's not clear where you are calling
initMap from.– Bergi
Nov 16 at 22:14
Yes, that script. Although it's not clear where you are calling
initMap from.– Bergi
Nov 16 at 22:14
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268248%2fjs-modules-referenceerror-function-is-not-defined%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Make your second script a
moduleas well and import thepolygonClickfunction from the first one. Otherwise it will stay in the module's scope - unlike normal scripts, module code does not run in the global scope.– Bergi
Nov 12 at 19:16
@Bergi What do you define as my second script ? The whole
initMapfunction ?– Asfourhundred
Nov 16 at 21:22
Yes, that script. Although it's not clear where you are calling
initMapfrom.– Bergi
Nov 16 at 22:14