无法运行scalajs-react项目
我只是试图build立scalajs -使用官方文档 做出反应 ,但是当我尝试运行这个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
我的机器上有Node.js,但没有“反应”模块。 所以,我决定使用命令npm install -g react@15.3.2 react-dom@15.3.2
从build.sbt
安装这些模块
之后,我有以下npm list -g --depth=0
输出npm list -g --depth=0
:
+-- bower@1.8.0 +-- react@15.3.2 `-- react-dom@15.3.2
但是,它什么都不变。 仍然是sbt run
相同的错误输出
有人知道这是什么吗?
你不需要直接在node.js中安装任何东西。 npm install -g react...
将不起作用。 如果你想运行你的应用程序使用sbt run
那么这将是你通过安装React的SBT设置。
scalajs-react docs展示了如何通过jsDependencies
在SBT中安装React。 您仍然应该阅读Scala.JS教程以查找其他所需的设置。 我不使用sbt run
自己sbt run
但根据教程,您可能需要添加jsDependencies += RuntimeDOM
,运行npm install jsdom
,甚至可能skip in packageJSDependencies := false
使用skip in packageJSDependencies := false
。
如果这不起作用,这是一个Scala.JS使用问题,不是特定于scalajs反应。