无法 运行 scalajs-react 项目
Unable to run scalajs-react project
我只是想设置 scalajs-react using official docs,但是当我尝试 运行 这个 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\Temp84704765073-0\react-dom.js:16:24
[error] at Object.<anonymous> (C:\Users\avkar\AppData\Local\Temp84704765073-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$$anonfun$apply$$anonfun$apply.apply(ScalaJSPluginInternal.scala:771)
at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$$anonfun$apply$$anonfun$apply.apply(ScalaJSPluginInternal.scala:765)
at scala.Function1$$anonfun$compose.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,但没有 'react' 模块。因此,我决定使用命令 npm install -g react@15.3.2 react-dom@15.3.2
从 build.sbt
安装这些模块
之后,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 文档展示了如何在 SBT 中通过 jsDependencies
安装 React。您仍应通读 the Scala.JS tutorial 以找到其他所需的设置。我自己不使用 sbt run
,但根据教程,您可能需要添加 jsDependencies += RuntimeDOM
、运行 npm install jsdom
,甚至可能使用 skip in packageJSDependencies := false
。
如果这不起作用,这是一个 Scala.JS 使用问题,并非特定于 scalajs-react。
我只是想设置 scalajs-react using official docs,但是当我尝试 运行 这个 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\Temp84704765073-0\react-dom.js:16:24
[error] at Object.<anonymous> (C:\Users\avkar\AppData\Local\Temp84704765073-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$$anonfun$apply$$anonfun$apply.apply(ScalaJSPluginInternal.scala:771)
at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$$anonfun$apply$$anonfun$apply.apply(ScalaJSPluginInternal.scala:765)
at scala.Function1$$anonfun$compose.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,但没有 'react' 模块。因此,我决定使用命令 npm install -g react@15.3.2 react-dom@15.3.2
build.sbt
安装这些模块
之后,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 文档展示了如何在 SBT 中通过 jsDependencies
安装 React。您仍应通读 the Scala.JS tutorial 以找到其他所需的设置。我自己不使用 sbt run
,但根据教程,您可能需要添加 jsDependencies += RuntimeDOM
、运行 npm install jsdom
,甚至可能使用 skip in packageJSDependencies := false
。
如果这不起作用,这是一个 Scala.JS 使用问题,并非特定于 scalajs-react。