2017-03-06 7 views
0

Dies ist ein bisschen schwierig, also werde ich versuchen, es gut zu erklären.JS-Import gibt Syntaxfehler zurück

Wir verwenden eine ERP-Lösung, mit der wir Ad-hoc-Formulare erstellen können. Auf diesen Formularen können wir einige js programmieren und eine interne API verwenden, die von unseren Lösungsentwicklern bereitgestellt wird.

Jetzt stehen wir vor dem Fall, dass mehrere verschiedene Formen gemeinsame Datenstrukturen und Funktionalitäten verwenden müssen (für Datenvalidierung, Interaktion verwenden, etc ...).

Wir können den gesamten Code in jedes Formular einfügen und es funktioniert, aber es scheint wie eine schlechte Lösung. Es wäre wahrscheinlich viel besser, wenn wir eine js-Bibliothek generieren, in die wir diese Datenstrukturen und Funktionalitäten exportieren, so dass wir sie in jede Form importieren und sie einfach in einer Datei aktualisieren können.

Tatsache ist, dass wir beim Versuch, eine öffentliche Bibliothek zu importieren, einen Syntaxfehler erhalten, wahrscheinlich, weil der eingegebene Code bei der Ausführung in eine Funktion in den Code unseres Entwicklers eingeschlossen wird.

ourProviderObject.ourProviderMethod('formName').clientLogic = 
    function(datpar, self, editable, store) { 
     import 'https://pathToOurTestLibrary.js'; //here starts our code!!! 

Also ... Ich frage mich, warum der Syntaxfehler. Wenn ein solcher Vorgang (Importieren einer Datei aus einer Funktion) nicht zulässig ist, erwarte ich einen anderen Fehlertyp.

Es ist möglich, einen Import aus einer Funktion heraus durchzuführen?

Wenn es ist ... was könnte der Grund für einen Syntaxfehler sein?

+0

Sie sicher wissen Sie, dass der Dolmetscher die API läuft auf ES6 unterstützt? –

+0

Ich weiß es nicht sicher ... aber wenn es nicht der Fall ist, wird nicht ein anderer Fehler erwartet, dass "Import" nicht definiert ist? – Bardo

+0

Nun, wenn Sie 'foo 'ab'; eingeben, erhalten Sie im Knoten * SyntaxError: Unexpected string *. –

Antwort

0

Ok ... Ich habe von IE FF geschaltet und der Fehler hat sich viel mehr zu klären:

Syntax: Einfuhranmeldungen nur auf oberster Ebene eines Moduls angezeigt. So

Ich nehme an, dass beantwortet meine Frage, können Sie eine Datei nicht importieren innerhalb einer Funktion oder einen Rückruf

+0

Ich glaube nicht, dass Sie den Internet Explorer in der Frage erwähnt haben. Ich würde seine ES6-Unterstützung nicht als erste Klasse definieren :) –

+1

Ja, ich dachte es, als ich deine Nachricht sah. IE ist eine Anforderung von unserem Supplier :( – Bardo

Verwandte Themen