2017-12-21 3 views
0

ich habe:Wie spezifiziert man den Pfad bei Verwendung von @JSImport in Scala.js?

$ ls -last /home/brandon/workspace/ced2ar/jsgen/target/scala-2.12/scalajs-bundler/main/node_modules/bootstrap/dist/js/bootstrap.min.js 
40 -rw-r--r-- 1 brandon brandon 37045 Jul 25 2016 /home/brandon/workspace/ced2ar/jsgen/target/scala-2.12/scalajs-bundler/main/node_modules/bootstrap/dist/js/bootstrap.min.js 

und

@JSImport("node_modules/bootstrap/dist/js/bootstrap.min.js", "jQuery") 

Doch wenn ich laufe bundler ich folgende Fehlermeldung erhalten:

[error] ModuleNotFoundError: Module not found: Error: Can't resolve 'node_modules/bootstrap/dist/js/bootstrap.min.js' in '/home/brandon/workspace/ced2ar/jsgen/target/scala-2.12/scalajs-bundler/main' 
[error]  at factoryCallback (/home/brandon/workspace/ced2ar/jsgen/target/scala-2.12/scalajs-bundler/main/node_modules/webpack/lib/Compilation.js:269:40) 

Ich habe versucht, auch nur den Dateinamen bootstrap.min.js für @JSImport verwenden. (Anmerkung: Ich vermute, dass, wenn ich dieses Problem zu beheben, ich habe immer noch das Problem des Umgangs mit Affen Patchen, denn das scheint zu sein, was Bootstrap ist JQuery tun.)

+0

Sie sollten nur '' bootstrap.min.js '' in '@ JSImport' schreiben können. Es sollte die Aufgabe des Bundlers sein, diesen Namen in den Node.js-Modulen aufzulösen. – sjrd

+0

Ich benutze sjs Bundler 0.9.0; meine build.sbt ist hier (wenn relevant, werde ich die wichtigen Bits zu der Frage hinzufügen): https://gist.github.com/bbarker/7ba6f1f1e92066343be6d2135a182319 - Ich habe eine Vielzahl von Optionen mit '@ JSImport' auch ausprobiert als versuche, 'jquery.slim.min.js' stattdessen immer mit dem gleichen Ergebnis zu laden. Wenn das Problem noch nicht geklärt ist, werde ich versuchen, ein minimales Beispiel zusammenzustellen. – bbarker

+0

Das hat funktioniert: '@JSImport (" bootstrap/dist/js/bootstrap.min.js ")' - danke @dispalt – bbarker

Antwort

2

Entfernen Sie den node_modules Teil in dem Weg:

@JSImport("bootstrap/dist/js/bootstrap.min.js", "jQuery") 

Vergewissern Sie sich auch, dass diese Datei CommonJS-kompatibel ist.

Verwandte Themen