2017-08-16 5 views
0

Ich bin momentan ein kleines Projekt basierend auf preactJS mit Algolia? Ich fand, dass es eine Algolia-Komponente für reactjs gibt, aber leider keine Algolia-Komponente für preactjs. Deshalb ist mein Problem, wie kann ich Algolia Javascript-Datei in preactjs aufnehmen?Wie externe Javascript-Bibliothek in PreactJS enthalten?

<script src="https://cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.js"></script> 
+0

Auch ich weiß nicht, ob Sie es sehen, aber wir haben einen anderen Geschmack von InstantSearch, Reaktion-InstantSearch, Das könnte sich besser mit Ihrer Preact-App integrieren. Zögern Sie nicht, uns Ihr Feedback dazu zu geben. – Marie

+0

@Marie Ich habe es mit 'React-InstantSearch' versucht, aber als ich gerendert habe, habe ich' process' Fehler festgestellt. Deshalb habe ich es aufgegeben. – ppshein

+0

Können Sie ein Problem in unserem Github-Repository mit dem aufgetretenen Fehler öffnen? Wir müssen darüber nachforschen :) – Marie

Antwort

2

Sie können dynamisch Skript einfügen, versuchen Sie dieses:

componentWillMount() { 
    const script = document.createElement("script"); 
    script.src = "https://cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.js"; 
    script.async = true; 

    script.onload = function() { 
     // init your algolia code here 
    } 

    document.body.appendChild(script); 
}, 
+0

'var client = algolesearch ('app', 'schlüssel');' 'var index = client.initIndex ('mein_index');' 'algolesearch' gegangen undefined – ppshein

+0

' '' algolesearch''' wird erst nach dem Laden des Skripts definiert. Fügen Sie diesen Code zu '' 'script.onload =() => {// Ihrem Code //}' '' Block hinzu. –

1

Sie es einfach hinzufügen können in Ihrer index.html zwischen den Head-Tags. In Reaktion, die index.html in public/index.html In pReact ist, index.html ist in src/index.html

<head> 
<script src="https://cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.js"></script> 
</head> 
+0

In Preact-CLI gibt es keine HTML-Datei. Nur, .js-Datei. – ppshein

+0

Wie wäre es mit dem Herunterladen des Skripts in Ihre Assets und Verwendung von 'require ('../ assets/instantsearch.min.js');' (in index.js)? Versuchen Sie vielleicht auch die cdn-URL anstelle des relativen Pfads, aber ich bin mir nicht sicher, ob es funktioniert. – Sbe88

+0

Außerdem ist hier ein Beispiel mit index.html https://github.com/developit/preact-todomvc/blob/master/src/index.html – Sbe88

Verwandte Themen