Webpack Javascript - Uncaught TypeError: autoComplete is not a constructor

Webpack Javascript - Uncaught TypeError: autoComplete is not a constructor

Podívejme se na tuto modelovou situaci - mám nějaký javascript balíček a pak nějaký javascript kód, který s ním pracuje. Vše funguje v pořádku, ale my chceme využít webpack a pak nastane chyba Uncaught TypeError: autoComplete is not a constructor . Co s tím?

 

Mějme tento kód

< script src="https://cdn.jsdelivr.net/npm/@tarekraafat/autocomplete.js@10.2.7/dist/autoComplete.min.js">< /script>
< script >
    const autoCompleteJS = new autoComplete({
        selector: () => inputElem,

a pokud chceme použít webpack a provedeme instalaci balíčku

npm i @tarekraafat/autocomplete.js

a do webpacku dame

import '@tarekraafat/autocomplete.js';

a pak uděláme rebuild

npx webpack

a pak upravíme náš javascript kód tak, že dáme pryč

< script src="https://cdn.jsdelivr.net/npm/@tarekraafat/autocomplete.js@10.2.7/dist/autoComplete.min.js">< /script>

a zavoláme předtím funkční javascript kód

< script">
    const autoCompleteJS = new autoComplete({
        selector: () => inputElem,


tak dostaneme chybu

code/:990 Uncaught TypeError: autoComplete is not a constructor at code/:990:28

 

Řešení

Do webpacku dáme jen

import './components/mapAutocomplete.js';

a obsah souboru mapAutocomplete.js bude:

import autoComplete from '@tarekraafat/autocomplete.js/dist/autoComplete';

const autoCompleteJS = new autoComplete({
    selector: () => inputElem,

a pak uděláme rebuild

npx webpack

 

a vše funguje na jedničku :-)

 

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář