Solo estoy tratando de configurar scalajs-react usando documentos oficiales, pero tuve un problema cuando traté de ejecutar este sbt run :
[info] Fast optimizing C:\temp\scalajs-react\target\scala-2.12\scala-js-tutorial-fastopt.js [info] Running org.example.TutorialApp [error] module.js:471 [error] throw err; [error] ^ [error] [error] Error: Cannot find module 'react' [error] at Function.Module._resolveFilename (module.js:469:15) [error] at Function.Module._load (module.js:417:25) [error] at Module.require (module.js:497:17) [error] at require (internal/module.js:20:19) [error] at C:\Users\avkar\AppData\Local\Temp\1484704765073-0\react-dom.js:16:24 [error] at Object.<anonymous> (C:\Users\avkar\AppData\Local\Temp\1484704765073-0\react-dom.js:40:3) [error] at Module._compile (module.js:570:32) [error] at Object.Module._extensions..js (module.js:579:10) [error] at Module.load (module.js:487:32) [error] at tryModuleLoad (module.js:446:12) org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: Node.js exited with code 1 at org.scalajs.jsenv.ExternalJSEnv$AbstractExtRunner.waitForVM(ExternalJSEnv.scala:107) at org.scalajs.jsenv.ExternalJSEnv$ExtRunner.run(ExternalJSEnv.scala:156) at org.scalajs.sbtplugin.ScalaJSPluginInternal$.org$scalajs$sbtplugin$ScalaJSPluginInternal$$jsRun(ScalaJSPluginInternal.scala:684) at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$60$$anonfun$apply$43$$anonfun$apply$44.apply(ScalaJSPluginInternal.scala:771) at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$60$$anonfun$apply$43$$anonfun$apply$44.apply(ScalaJSPluginInternal.scala:765) at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) [trace] Stack trace suppressed: run 'last compile:run' for the full output. [error] (compile:run) org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: Node.js exited with code 1 [error] Total time: 3 s, completed 18.01.2017 8:59:25 Tengo Node.js en mi máquina, pero no había ningún módulo 'reaccionar'. Entonces, decidí instalar esos módulos desde build.sbt usando el comando npm install -g react@15.3.2 react-dom@15.3.2
Después de eso, tengo el siguiente resultado para npm list -g --depth=0 :
+-- bower@1.8.0 +-- react@15.3.2 `-- react-dom@15.3.2 Sin embargo, no cambia nada. Sigue siendo la misma salida de error para sbt run
¿Alguien sabe qué es esto?
No necesita instalar nada en node.js directamente. npm install -g react... no tendrá ningún efecto. Si desea ejecutar su aplicación usando sbt run , será la configuración de SBT a través de la cual instalará React.
Los documentos de scalajs-react muestran cómo instalar React a través de jsDependencies en SBT. Aún debe leer el tutorial de Scala.JS para encontrar otras configuraciones requeridas. No uso sbt run yo mismo, pero de acuerdo con el tutorial, probablemente necesitará agregar jsDependencies += RuntimeDOM , ejecutar npm install jsdom , y tal vez incluso usar skip in packageJSDependencies := false .
Si eso no funciona, se trata de un problema de uso de Scala.JS, no específico de scalajs-react.