HTML5 Web Workers sind normalerweise auf externe Skripts angewiesen, die importScripts()
verwenden. Wohin sollten solche Skripte unter Rails 4 gehen, damit sie wie in der Assets-Pipeline normal minimiert werden und dennoch korrekt funktionieren?Wohin mit einer Web-Worker-Datei in Rails 4?
Es gibt einige Probleme, wenn sie mit der Asset-Pipeline arbeiten, die angegangen werden müssen:
- Die externe Skripte, gebracht werden, wenn unter
vendor/assets
, wird nicht von der Asset-Pipeline standardmäßig verarbeitet werden (was nicht der war Fall in Schienen 3). - Wenn die Skripts unter
app/assets
platziert werden, müssen sie inapplication.js
aufgenommen werden, damit sie verarbeitet werden können. Arbeitsdateien sollten jedoch nicht in der kombinierten Ausgabe enthalten sein (d. H.application-[digest].js
). - Wenn die Skripts in der Assets Config enthalten sind, enthalten die resultierenden Dateien einen Digest in ihrem Dateinamen. Um den Worker zu laden, muss man dem Browser seinen Pfad geben (zB . Wie würden wir den Pfad herausfinden? (Ich habe versucht
asset_path
, aber es hat nicht funktioniert). - Genau wie in 3, Arbeiter müssen verweisen . andere Dateien nach Namen, wenn
importScripts()
Aufruf Wie würden wir den Weg zu laden herauszufinden
ich immer am Ende mit meinen Arbeitern und Importen in der Ordner '/ public', aber ich muss sagen, ich bin nicht sehr glücklich mit diesem Ansatz –