Naja.js – instalace bez NPM
- cafesk8
- Člen | 103
Zdravím,
chtěl jsem místo nette.ajax.js vyzkoušet Naja a nepoužívám NPM a s tím související Webpack. Pokusil jsem se dle dokumentace do šablony vložit naja ze složky dist na githubu, ale píše mi to pořád nějaké chyby.
@layout.latte
<script src="{$basePath}/js/vendor/Naja.js"></script>
<script src="{$basePath}/js/main.js"></script>
main.js
import naja from 'naja';
document.addEventListener('DOMContentLoaded', naja.initialize.bind(naja));
vyústí v tyto chybové hlášky:
- Naja.js: ‚Naja.js:9 Uncaught ReferenceError: module is not defined at Naja.js:9‘
- main.js: Uncaught SyntaxError: Cannot use import statement outside a module
Zkusil jsem i:
@layout.latte
<script src="{$basePath}/js/vendor/Naja.js" type="module"></script>
<script src="{$basePath}/js/main.js"></script>
to mi zase vyhodí:
- Naja.js: Naja.js:7 Uncaught TypeError: Cannot set property ‚naja‘ of undefined
- main.js: Uncaught SyntaxError: Cannot use import statement outside a module
Ještě mě napadlo:
@layout.latte
<script type="module" n:syntax="double">
import naja from '{{$basePath}}/js/vendor/Naja.js';
document.addEventListener('DOMContentLoaded', naja.initialize.bind(naja));
</script>
ale tam skončím zase s:
- Uncaught SyntaxError: The requested module ‚/js/vendor/Naja.js‘ does not provide an export named ‚default‘
Vím, že to není přímo Nette-related ale spíš půjde o nějaký JS problém co se ES6 modlů a npm týče, ale i tak když jsem v dokumentaci četl:
„If you're not friends with npm, you can download the archive from Github and load the bundled script from dist directory into your site.“ – tak jsem přčedpokládal že to bude fungovat out-of-the-box."
- jiri.pudil
- Nette Blogger | 1029
main.js: Uncaught SyntaxError: Cannot use import statement outside a module
Pokud nepoužíváš moduly, nebude ti fungovat import. Pokud načteš soubor
Naja.js
přímo v browseru, instance knihovny je pak dostupná
v globálním scope jako naja
. Tedy v main.js
by
mělo stačit odstranit ten řádek s importem.
Naja.js: ‚Naja.js:9 Uncaught ReferenceError: module is not defined at Naja.js:9‘
Ten soubor je skutečně dist/Naja.js
z repozitáře na
Githubu? Tam snad nikdy řádek 9 nebyl :O
- cafesk8
- Člen | 103
Díky stačilo dát pryč ten řádek s importem :)
Ten řádek 9 tam opravdu nebyl, to jsem tam něco zkoušel připsat,
moje chyba.
jiri.pudil napsal(a):
main.js: Uncaught SyntaxError: Cannot use import statement outside a module
Pokud nepoužíváš moduly, nebude ti fungovat import. Pokud načteš soubor
Naja.js
přímo v browseru, instance knihovny je pak dostupná v globálním scope jakonaja
. Tedy vmain.js
by mělo stačit odstranit ten řádek s importem.Naja.js: ‚Naja.js:9 Uncaught ReferenceError: module is not defined at Naja.js:9‘
Ten soubor je skutečně
dist/Naja.js
z repozitáře na Githubu? Tam snad nikdy řádek 9 nebyl :O