问题标签 [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 回答
427 浏览

three.js - Three.js 的新 Scala.js 外观 -> “找不到模块“三””

由于https://github.com/antonkulaga/threejs-facade已经严重过时,我尝试了如下方法:https://github.com/Katrix-/threejs-facade并想为新three.js库创建一个外观。

我绝不是JS专家,我也不是Scala.js专家,所以我很可能在做一些非常愚蠢的事情。

在另一个问题之后,我正在使用这个sbt-scalajs-bundlersbt-web-scalajs-bundler

我的build.sbt样子是这样的:

three.min.js在我client项目的资源文件夹中。

立面的一部分是例如

我想像这样使用它:val scene = new Scene. 另一方面scala.js,这实际上编译得很好,但是当我运行它时,我得到:

错误:找不到模块“三”

在浏览器中,我想知道为什么。three.min.js毕竟是这样称呼的。

现在我也尝试three.min.js从服务器端提供和提供文件,因为我认为它可能只是在运行时丢失了,但不,这似乎不是原因。

所以现在我想知道我在这里做错了什么?

只是为了澄清js:如果我不导出任何 Facade 的使用,其余的转译作品就好了!

0 投票
1 回答
644 浏览

npm - 如何将 scalajs-bundler 与仅客户端应用程序一起使用

另一个问题中,有人建议我使用ScalaJS 捆绑器来导入 NPM 依赖项。

我想在一个简单的仅限客户端的 Web 应用程序中使用一些 Javascript NPM 包。有一个名为 static 的示例显示了这一点。我对示例的更改:

添加到 build.sbt:

添加到 Main.scala:

改变Main.scala"This is bold"变成s"This is bold $tokensStr"

Facade(有点简化,完整版本见GitHub):

运行时生成的 htmlfastOptJS::webpack错误为:

未捕获的类型错误:无法读取未定义的属性“tokenize”

使用了检查static-fastopt-bundle.js节目esprima,但没有捆绑它的js。

将依赖项添加到仅限客户端的网页中还需要哪些其他步骤?

0 投票
1 回答
517 浏览

scala.js - TypeError:无法读取未定义的属性“冻结”

我正在尝试为 npm 库avsc创建一个外观。当我编译sbt fastOptJS::webpack并打开 .html 文件时,我Uncaught TypeError: Cannot read property 'freeze' of undefined从 .html 行中的文件treepad-fastopt-bundle.js中获取$g["Object"]["freeze"]($env);。我不在任何地方使用 Object.freeze 它。

这是门面代码:

也看看整个项目,它的代码很少。

相反,使用@JSImport("avsc", JSImport.Namespace)并没有改变任何东西。

0 投票
1 回答
220 浏览

scala.js - TypeError:this.buf.utf8Write 不是函数

我正在尝试为 npm 库avsc创建一个外观。当我编译sbt fastOptJS::webpack并打开 .html 文件时,我从js 库的TypeError: this.buf.utf8Write is not a function文件中的行this.buf.utf8Write(s, pos, len);中获取。它是从函数中调用的。toBuffer

我使用外观的代码应该可以工作:

也看看整个项目,它的代码很少。

0 投票
2 回答
272 浏览

npm - scalajs-bundler:哪个编译文件应该包含在 HTML 中?

我正在尝试使用 scalajs-bundler 为我的 Scala.js 项目处理我的 JS 依赖项。它成功下载了我的依赖项(d3.js),但我不知道如何在我的 HTML 文件中包含我的代码和依赖项。

我尝试了找到的所有文件,target/scala-2.12/但没有成功。

  • 使用target/scala-2.12/*-jsdeps.js它不会运行我的主要方法。
  • 随着target/scala-2.12/scalajs-bundler/main/*-fastopt.js我进入ReferenceError: exports is not definedFirefox。

我不想使用外观,这是一个短期项目,我打算使用js.Dynamic.

一个附带问题:我仍然可以将源映射与 scalajs-bundler 一起使用吗?

谢谢。

0 投票
1 回答
305 浏览

scala.js - 通过scalajs-bundler捆绑模块时找不到节点模块fs

我正在尝试将 scala.js 应用程序连接到节点模块。我以前没有这样做过。

fastOptJS::webpack我遇到构建失败时:

构建.sbt

插件.sbt

正面

整个回购

我怎样才能绕过这个错误?

0 投票
1 回答
386 浏览

webpack - 如何使用 ScalaJS Bundler 将 javascript 全局变量设置为模块

我正在使用 Scalajs-Bundler 来管理我的 Scala.js 项目的 NPM 依赖项。我正在尝试使用 scalajs-react-components 为 Material-ui 组件提供 Scala.js 外观,但该库需要一个mui定义如下的全局变量:

我的 build.sbt 中有一行webpackConfigFile := Some(baseDirectory.value/"webpack.config.js")代码允许我自定义 scalajs-bundler 的 Webpack 配置。我在 webpack.config.js 中有以下内容:

在 mui.js 中

但是,生成的包不包括 mui 变量的定义。如果 webpack.config.js 是

var webpack = require('webpack');

mui 变量的定义包括在内,但实际的 Scala.js 应用程序没有!

我还尝试将 mui 变量的定义直接放在 webpack.config.js 文件中

但这并没有说明,因为window在 webpack 配置脚本中未定义。

如何设置mui全局变量?

(完整的 build.sbt):

0 投票
0 回答
385 浏览

webpack - scalajs-bundler 在运行 fastOptJS::startWebpackDevServer 时阻塞以本地路径为前缀的源映射 URL,例如 './http...' 源文件

我有一个 ScalaJS 项目并fastOptJS::startWebpackDevServer在 Windows 10 中运行 sbt 命令会产生如下代码段中的错误:

这很奇怪,因为它尝试从当前目录解析 URL,如本部分所示:Error: Can't resolve './https://raw.githubusercontent.com/scala/scala/v2.12.4/src/library/scala/util/control/Breaks.scala'

我也尝试过运行fastOptJS::webpack,而不是错误它会产生警告。

这是我的 build.sbt 文件:

和 Settings.scala 文件:

更新 1:更改标题并将链接放入相关问题。事实证明,这个问题是 webpack 的一个错误。

更新 2:要解决运行时的错误,只需通过添加到 build.sbt 来fastOptJS::startWebpackDevServer停止使用源映射。emitSourceMaps := false没有源映射很糟糕,但至少对我来说,这比没有快速的增量构建要好。

0 投票
1 回答
160 浏览

scala.js - 在 Scala.js 中使用 @JSImport 时如何指定路径?

我有:

然而,当我运行 bundler 时,我收到以下错误:

我也试过只使用文件bootstrap.min.js@JSImport。(注意:我认为一旦我解决了这个问题,我仍然会遇到处理猴子补丁的问题,因为这似乎是引导程序对 JQuery 所做的事情。)

0 投票
0 回答
267 浏览

scala.js - 如何在 Scala.js 中使用 jQuery + Bootstrap.js 和 scalajs bundler?

1.加载JQuery

我定义了以下与 JQuery 接口:

我确认这@JSimport似乎有效,因为捆绑器 js 文件增加了大约等于jquery/dist/jquery.slim.min.js我使用@JSimport而不是JSGlobal.

但是,一旦我运行我的应用程序,当我JQuery("p").hide()得到一个错误的代码时:

2.在Bootstrap.js之前加载JQuery

在上述定义之后,如果我添加以下代码与 Bootstrap 接口(并在某处实际使用它,因此它不会“优化掉”),我将在页面加载时立即收到运行时错误:

页面加载的错误是:

如果我通过动态插入的标签手动加载 js 文件,我已经确认我的代码可以工作<script>,但是其中一个问题(除了混乱和代码大小优化)是我无法轻松控制加载顺序,但我离题了...