2017-12-21 17 views
0

는 내가 가진 :Scala.js에서 @JSImport를 사용할 때 경로를 지정하는 방법은 무엇입니까?

$ 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 

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

그러나 나는 다음과 같은 오류가 들러를 실행하면 나는 또한 단지 @JSImport에 대한 파일 이름 bootstrap.min.js를 사용하여 시도

[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) 

. (참고 : 나는이 문제를 해결하면 그 부트 스트랩 JQuery와에 무엇을하고 있는지 것으로 보이기 때문에, 나는 아직도, 원숭이 패치를 처리하는 문제가 있음을 파악.)

+0

'@ JSImport'에''bootstrap.min.js "'를 써야합니다. Node.js 모듈에서 그 이름을 해석하는 것은 bundler의 역할이어야합니다. – sjrd

+0

sjs bundler 0.9.0을 사용하고 있습니다. 내 build.sbt은 여기에있다. (관련이 있다면 질문에 중요한 부분을 추가 할 것이다) : https://gist.github.com/bbarker/7ba6f1f1e92066343be6d2135a182319 -'@ JSImport'와 함께 다양한 옵션을 시도했다. 'jquery.slim.min.js'를 대신로드하려고 시도 할 때, 항상 같은 결과가 나타납니다. 그래도 여전히 문제를 분명히 밝히지 않으면 최소한의 예를 모으려고 노력할 것입니다. – bbarker

+0

이 작업 :'@JSImport ("bootstrap/dist/js/bootstrap.min.js")'- thanks @dispalt – bbarker

답변

2

경로에 node_modules 부분을 제거

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

이 파일은 CommonJS와 호환되어야합니다.