问题标签 [scalajs-bundler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
43 浏览

scalajs-bundler - 无法让任何 scalajs-bundler 样本工作

如果我下载scalajs-bundler项目的克隆并导航到任何 sbt-test 项目,我无法让它们中的任何一个工作 - 例如外观项目。

当我输入 sbt 命令时,出现以下错误:

[错误] java.lang.RuntimeException: 'plugin.version' 环境变量未设置

完整的堆栈跟踪是:

[错误] java.lang.RuntimeException: 'plugin.version' 环境变量未设置 [错误] 在 scala.sys.package$.error(package.scala:26) [错误] 在 $0813db5cafe4ec2bbe2c$.$anonfun$$ sbtdef$1(/home/des/workspace/scalajs-bundler-master/sbt-scalajs-bundler/src/sbt-test/sbt-scalajs-bundler/facade/project/plugins.sbt:3) [错误] 在 scala。 collection.MapLike.getOrElse(MapLike.scala:127) [error] at scala.collection.MapLike.getOrElse$(MapLike.scala:125) [error] at scala.collection.AbstractMap.getOrElse(Map.scala:59) [错误] 在 $0813db5cafe4ec2bbe2c$.$sbtdef(/home/des/workspace/scalajs-bundler-master/sbt-scalajs-bundler/src/sbt-test/sbt-scalajs-bundler/facade/project/plugins.sbt:3 ) [错误] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [错误] 在 sun.reflect.NativeMethodAccessorImpl。invoke(NativeMethodAccessorImpl.java:62) [error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] at java.lang.reflect.Method.invoke(Method.java:498) [error] at sbt.compiler.Eval$.getValue(Eval.scala:578) [error] at sbt.compiler.Eval.$anonfun$eval$1(Eval.scala:129) [error] at sbt.internal.EvaluateConfigurations$.$anonfun $evaluateDslEntry$1(EvaluateConfigurations.scala:249) [error] at sbt.internal.EvaluateConfigurations$.$anonfun$evaluateSbtFile$6(EvaluateConfigurations.scala:172) [error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike .scala:233) [error] at scala.collection.immutable.List.foreach(List.scala:388) [error] at scala.collection.TraversableLike.map(TraversableLike.scala:233) [error] at scala.collection .TraversableLike。map$(TraversableLike.scala:226) [error] at scala.collection.immutable.List.map(List.scala:294) [error] at sbt.internal.EvaluateConfigurations$.$anonfun$evaluateSbtFile$4(EvaluateConfigurations.scala: 172) [error] at sbt.internal.Load$.loadSettingsFile$1(Load.scala:1137) [error] at sbt.internal.Load$.$anonfun$discoverProjects$2(Load.scala:1144) [error] at scala .collection.MapLike.getOrElse(MapLike.scala:127) [error] at scala.collection.MapLike.getOrElse$(MapLike.scala:125) [error] at scala.collection.AbstractMap.getOrElse(Map.scala:59) [错误] 在 sbt.internal.Load$.memoLoadSettingsFile$1(Load.scala:1143) [错误] 在 sbt.internal.Load$.$anonfun$discoverProjects$4(Load.scala:1151) [错误] 在 scala.collection .TraversableLike.$anonfun$map$1(TraversableLike.scala:233) [错误] 在 scala.collection.mutable。ResizableArray.foreach(ResizableArray.scala:58) [error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:51) [error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47 ) [error] at scala.collection.TraversableLike.map(TraversableLike.scala:233) [error] at scala.collection.TraversableLike.map$(TraversableLike.scala:226) [error] at scala.collection.AbstractTraversable.map( Traversable.scala:104) [error] at sbt.internal.Load$.loadFiles$1(Load.scala:1151) [error] at sbt.internal.Load$.discoverProjects(Load.scala:1165) [error] at sbt .internal.Load$.discover$1(Load.scala:862) [error] at sbt.internal.Load$.loadTransitive(Load.scala:937) [error] at sbt.internal.Load$.loadProjects$1(Load. scala:726) [error] at sbt.internal.Load$.$anonfun$loadUnit$11(Load.scala:第729章internal.Load$.timed(Load.scala:1395) [error] at sbt.internal.Load$.loadUnit(Load.scala:688) [error] at sbt.internal.Load$.$anonfun$builtinLoader$4(Load .scala:484) [error] at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:176) [error] at sbt.internal.BuildLoader.apply(BuildLoader.scala:241) [error] at sbt.internal.Load$.loadURI$1(Load.scala:546) [error] at sbt.internal.Load$.loadAll(Load.scala:562) [error] at sbt.internal.Load$.loadURI(Load. scala:492) [error] at sbt.internal.Load$.load(Load.scala:471) [error] at sbt.internal.Load$.$anonfun$apply$1(Load.scala:251) [error] at sbt.internal.Load$.timed(Load.scala:1395) [错误] 在 sbt。internal.Load$.apply(Load.scala:251) [error] at sbt.internal.Load$.buildPluginDefinition(Load.scala:1312) [error] at sbt.internal.Load$.buildPlugins(Load.scala:1242 ) [error] at sbt.internal.Load$.plugins(Load.scala:1225) [error] at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:694) [error] at sbt.internal .Load$.timed(Load.scala:1395) [error] at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:694) [error] at sbt.internal.Load$.timed(Load. scala:1395) [error] at sbt.internal.Load$.loadUnit(Load.scala:688) [error] at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:484) [error] at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:176) [error] at sbt.internal.BuildLoader.apply(BuildLoader.scala:241) [error] at sbt.internal.Load$.loadURI$1 (Load.scala:546) [错误] 在 sbt。internal.Load$.loadAll(Load.scala:562) [error] at sbt.internal.Load$.loadURI(Load.scala:492) [error] at sbt.internal.Load$.load(Load.scala:471 ) [error] at sbt.internal.Load$.$anonfun$apply$1(Load.scala:251) [error] at sbt.internal.Load$.timed(Load.scala:1395) [error] at sbt.internal .Load$.apply(Load.scala:251) [error] at sbt.internal.Load$.defaultLoad(Load.scala:69) [error] at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:829) [错误] 在 sbt.BuiltinCommands$.doLoadProject(Main.scala:829) [错误] 在 sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:800) [错误] 在 sbt.Command$.$anonfun$applyEffect $4(Command.scala:142) [error] at sbt.Command$.$anonfun$applyEffect$2(Command.scala:137) [error] at sbt.Command$.process(Command.scala:181) [error] at sbt.MainLoop$.processCommand(MainLoop.scala:151) [error] at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:139) [error] at sbt.State$$anon$1.runCmd$1(State.scala:246) [error] at sbt. State$$anon$1.process(State.scala:250) [error] at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:139) [error] at sbt.internal.util.ErrorHandling$.wideConvert( ErrorHandling.scala:16) [error] at sbt.MainLoop$.next(MainLoop.scala:139) [error] at sbt.MainLoop$.run(MainLoop.scala:132) [error] at sbt.MainLoop$.$ anonfun$runWithNewLog$1(MainLoop.scala:110) [error] at sbt.io.Using.apply(Using.scala:22) [error] at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104) [error] at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59) [error] at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44) [error] at sbt.MainLoop$.runLogged(MainLoop.scala:35) [error]在 sbt.StandardMain$。runManaged(Main.scala:138) [error] at sbt.xMain.run(Main.scala:89) [error] at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) [error ] 在 xsbt.boot.Launch$.withContextLoader(Launch.scala:128) [错误] 在 xsbt.boot.Launch$.run(Launch.scala:109) [错误] 在 xsbt.boot.Launch$$anonfun$apply $1.apply(Launch.scala:35) [error] at xsbt.boot.Launch$.launch(Launch.scala:117) [error] at xsbt.boot.Launch$.apply(Launch.scala:18) [error ] 在 xsbt.boot.Boot$.runImpl(Boot.scala:56) [错误] 在 xsbt.boot.Boot$.main(Boot.scala:18) [错误] 在 xsbt.boot.Boot.main(Boot. scala) [错误] 'plugin.version' 环境变量未设置scala:128) [error] at xsbt.boot.Launch$.run(Launch.scala:109) [error] at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) [error]在 xsbt.boot.Launch$.launch(Launch.scala:117) [错误] 在 xsbt.boot.Launch$.apply(Launch.scala:18) [错误] 在 xsbt.boot.Boot$.runImpl(Boot. scala:56) [error] at xsbt.boot.Boot$.main(Boot.scala:18) [error] at xsbt.boot.Boot.main(Boot.scala) [error] 'plugin.version' 环境变量是没有设置scala:128) [error] at xsbt.boot.Launch$.run(Launch.scala:109) [error] at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) [error]在 xsbt.boot.Launch$.launch(Launch.scala:117) [错误] 在 xsbt.boot.Launch$.apply(Launch.scala:18) [错误] 在 xsbt.boot.Boot$.runImpl(Boot. scala:56) [error] at xsbt.boot.Boot$.main(Boot.scala:18) [error] at xsbt.boot.Boot.main(Boot.scala) [error] 'plugin.version' 环境变量是没有设置scala) [错误] 'plugin.version' 环境变量未设置scala) [错误] 'plugin.version' 环境变量未设置

0 投票
2 回答
330 浏览

twitter-bootstrap - 如何在 scalajs-bundler 中包含引导程序

我正在使用 scalajs-bundler 插件并因此定义了我的 build.sbt:

但是,当我运行“sbt fastOptJS::webpack”时,生成的 -fastopt-bundle.js 文件中没有对引导程序的引用。

不应该包含引导程序吗?

0 投票
1 回答
64 浏览

scalajs-bundler - 如何将我的 index.html 捆绑到我的 webpack 包中

我已经定义了一个使用 scalajs-bundler 插件的非常基本的项目。我在我的 src/resources 文件夹中定义了一个 index.html 文件。有没有办法可以配置它,以便在运行“fastOptJS::webpack”命令时也将其复制到“target/.../scalajs-bundler/main”文件夹?

0 投票
0 回答
118 浏览

scala.js - 带有 ScalaJS 的 PlotlyJS:3D 图形/WebGL 的问题

使用纯 Javascript 它可以工作:

对于ScalaJS,它不起作用(它显示:您的浏览器不支持 WebGL)。我采用了生成的代码,唯一的区别是这一行:

版本也应该相同:

这里的Scala代码,我如何使用Plotly

0 投票
0 回答
147 浏览

sbt - 添加任务以将文件从我的资源文件夹复制到目标

我有一个使用 sbt-scalajs-bundler 插件的 scala js 项目。当我运行 webpack 命令时,大多数必要的文件都捆绑到target/scala-2.12/scalajs-bundler/main文件夹中。我已将我的 html 资源(例如 index.html、myproject.css 等)放在我项目的src/main/resources文件夹中。但这些不包含在我的捆绑包中。我应该添加一个 sbt 任务来复制这些文件吗?如果是,我将如何添加这样的任务?

我的 build.sbt 类似于以下内容:

0 投票
1 回答
64 浏览

scalajs-bundler - webpack 如何确定它将包含在捆绑包中的文件/文件夹

我的项目的src/main/resources文件夹中有一组文件 - 例如 index.html、myproject.css、i18n.js

当我运行 webpack 时,只有一个文件会自动复制到包中,即118n.js。为什么这个被捆绑但没有别的?

0 投票
1 回答
376 浏览

scala.js - 为javascript模块编写scalajs外观时如何使用JSImport

我已经使用 JSImport 编写了一个外观,并且它可以工作。不幸的是,我通过反复试验得出了解决方案,我不完全理解为什么这个特定的解决方案有效,但我尝试过的其他解决方案却没有。

背景:我从一个使用 sbt 构建的工作项目开始,这是一个单页应用程序,它使用 scala.js 实现客户端代码,使用 scala 和 Play 框架实现服务器端。javascript 库与 web jar 一起打包,并使用 sbt jsDependencies 变量捆绑到客户端 js 文件中。我想实现一些需要库 up rev 的新功能,然后需要一些仅以 npm 格式提供的 javascript 库的 up rev。因此,现在我使用带有 scalajs-bundler 插件的 npmDependencies 包括客户端应用程序的所有 javascript 依赖项。这打破了一些导致我的问题的 scalajs 外观。

我将使用外观来log4javascript作为这个问题的示例。

该变量log4javascript是用于访问 api 其余部分的顶级对象。

当 js 库作为 web jars 包含时,这就是外观的log4javascript实现方式:

更改为 npm 后:

按照用于编写导入模块的 scala.js文档,我预计对象名称(在本例中为 Log4JavaScript)必须与导出的符号名称匹配才能使绑定起作用。但是,log4javascript.js 中的顶级符号是log4javascript. 经过试验,似乎 scala 对象名称对绑定没有影响。无论我如何命名 scala 顶级对象,它都会正确绑定。

有人可以解释在将“命名空间”参数用于 JSImport 时,scala 对象/类/def/val 名称与 javascript 模块中的名称之间存在什么关系(如果有)?

根据 scala.js 文档,似乎我应该能够提供 js 对象的实际名称(我也尝试过“Log4JavaScript”)

但是,这无法绑定。当我尝试访问任何成员函数时,会出现运行时错误。

Log4JavaScript.resetConfiguration()

Uncaught TypeError: Cannot read property 'resetConfiguration' of undefined

有人可以解释为什么这不起作用吗?

log4javascript 还在log4javascript. 当 lib 作为 web jar 包含时,定义如下所示:

切换到 npm 后,我不得不将类定义放在顶层对象中:

这似乎是明智的,但从 scala.js 文档看来,应该可以在顶级对象之外以这种方式定义它

但是,这也无法绑定。有人可以解释定义上述类的正确方法吗?或者嵌套在Log4JavaScript对象内的定义是唯一正确的方法吗?

0 投票
1 回答
40 浏览

scala.js - 如何将 jquery-ui 与 JSImport 一起使用

我想在我的 scala js 项目中访问 jquery ui 库。我尝试定义以下主模块:

而我的 build.sbt 如下:

但是当我加载我的页面时,我的控制台中出现以下错误:

TypeError: qual$1.spinner 不是函数

这不是导入库的正确方法吗?如果不是,那是什么?

该项目的完整源代码可以在这里找到

0 投票
0 回答
3206 浏览

webpack-dev-server - 编译时出现 WDS 警告

如果我定义一个裸 scalajs build.sbt 如下,没有实际的 scala 代码(App 是一个空类):

使用以下两个插件:

然后,每当我运行 fastOptJS::startWebpackDevServer 时,我都会收到一堆如下所示的警告。我能做些什么来摆脱这些警告吗?

[WDS] 编译时出现警告。客户:147

./repro-fastopt.js(发射值而不是错误实例)找不到源文件' https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Boolean.scala ':错误:无法解析'。/ https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Boolean.scala ' 在'/home/des/workspace/repro/target/scala-2.12/scalajs-bundler/main' @ multi (webpack)-dev-server/client? http://localhost:3000 ./repro-fastopt.js 客户端:153

./repro-fastopt.js(发射值而不是错误实例)找不到源文件' https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Byte.scala ':错误:无法解析'./ https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Byte.scala ' 在 '/home/des/workspace/repro/target/scala-2.12/scalajs-bundler/main' @ multi (webpack)-dev-server/client? http://localhost:3000 ./repro-fastopt.js 客户端:153

./repro-fastopt.js(发射值而不是错误实例)找不到源文件' https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Character.scala ':错误:无法解析'。/ https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Character.scala ' 在'/home/des/workspace/repro/target/scala-2.12/scalajs-bundler/main' @ multi (webpack)-dev-server/client? http://localhost:3000 ./repro-fastopt.js 客户端:153

./repro-fastopt.js(发射值而不是错误实例)找不到源文件' https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Class.scala ':错误:无法解析'。/ https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Class.scala ' 在'/home/des/workspace/repro/target/scala-2.12/scalajs-bundler/main' @ multi (webpack)-dev-server/client? http://localhost:3000 ./repro-fastopt.js 客户端:153

./repro-fastopt.js(发射值而不是错误实例)找不到源文件' https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Double.scala ':错误:无法解析'。/ https://raw.githubusercontent.com/scala-js/scala-js/v1.0.0-M7/javalanglib/src/ main/scala/java/lang/Double.scala '在'/home/des/workspace/repro/target/scala-2.12/scalajs-bundler/main'

...

0 投票
1 回答
97 浏览

scala.js - 使用依赖于它的库时获取“未定义 jQuery”

我正在尝试在我的 scalajs 应用程序中使用引导输入微调器。但是当我尝试使用它时,我收到错误“jQuery 未定义”,即使我已将它包含在我的项目中。有人能告诉我我错过了什么吗?

所以如果我定义一个 build.sbt:

然后尝试在我的应用程序中使用它,如下所示:

我的html文件定义如下:

请注意,如果我不参考 bootstrap-input-spinner 库并尝试单独使用 jQuery,它可以正常工作。例如,如果我将 App 对象更改为:

另外,我检查了 -library.js 文件,它具有以下代码:

哪个告诉我应该先导入jquery?