问题标签 [envjs]

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 投票
0 回答
272 浏览

java - 使用 envjs/rhino 从 java 程序中调用自定义 javascript 函数?

我基本上是在尝试这样做但是 这里的问题是javascript指的是“文档”和其他可以与浏览器一起使用但通过rhino执行时会导致错误的术语。什么是(如果有的话)解决这个问题的方法?我查看了envjs,但我不确定它是否可以用来解决上述问题。如果可以,是否可以提供指向适当来源的链接?

0 投票
1 回答
17936 浏览

javascript - Load a DOM and Execute javascript, server side, with .Net

I would like to load a DOM using a document (in string form) or a URL, and then Execute javascript functions (including jquery selectors) against it. This would be totally server side, in process, no client/browser.

Basically I need to load the dom and then use jquery selectors and text() & type val() functions to extract strings from it. I don't really need to manipulate the dom.

I have looked at .Net javascript engines such as Jurassic and Jint, but neither support loading a DOM, and so therefore can't do what I need.

I would be willing to consider non .Net solutions (node.js, ruby, etc) if they exist, but would really prefer .Net.

edit The below is a good answer, but currently I'm trying a different route, I'm attempting to port envjs to jurassic. If I can get that working I think it will do what I want, stay tuned....

0 投票
2 回答
1449 浏览

javascript - 在 envjs 中设置一个相对的 window.location.href

我正在使用 java 来运行 Envjs,以便在 Jasmine 中运行 javascript 单元测试。这将允许我在没有浏览器的情况下运行测试,并且更容易集成到 Jenkins(一个持续集成构建服务器)中。

我有一个 LoadSpecRunner.js 文件(Envjs 运行),它使用如下代码加载实际的 jasmine 测试运行器。

问题是设置文件的完整 url 工作正常,而我设置相对路径的所有尝试都失败了。以下是我在返回的输出中设置相对 url 的一些尝试

或者

无法打开文件 file://c/source/JasmineTest/SpecRunner.html
Java 异常:java.net.UnknownHostException:c

无法打开文件 file://c/:/Source/jasmine-reporters/about:blank
JavaException: java.net.UnknownHostException: c

有人有什么想法吗?

谢谢

切德

PS。进一步阅读我正在尝试做的事情:

http://skaug.no/ingvald/2010/10/javascript_unit_testing/

http://www.build-doctor.com/2010/12/08/javascript-bdd-jasmine/

0 投票
1 回答
217 浏览

javascript - Java Script MVC 窃取/buildjs - 删除空的 .js 文件

当我尝试使用 Javascript MVC 的窃取/buildjs 进行构建时,envJS 默默地无法压缩和检查 JavaScript 文件是否有错误。

我阅读了 envJS 的文档,发现如果在某些情况下您尝试构建空的 .js 文件,envJS 将会失败。

显然是在我的情况下,后来我创建了一些空的 .js 文件。

我需要一种方法来在构建之前添加对空 .js 和 .ejs 文件的检查。

运行steal / buildjs时检查空.js和.ejs的最有效方法是什么?

0 投票
1 回答
710 浏览

javascript - 如何在 envjs 中使用 requireJs

有人可以给我一些关于如何将bumblebeerequireJs结合起来的提示吗?BumbleBee 结合了 Rhino、JSpec、Envjs和 Ant 来提供一个“开箱即用”的 JavaScript 测试工具包。它对我们非常有用,因为它可以在 ubuntu-boxes 的终端中进行简单的独立运行。

我们基于 requireJs-Modules 的整个 JS 代码,并且看起来,如果从 envjs/bumblebee/rhine 的规范文件中需要它们,则不会加载所需的模块(什么样的东西可能对此负责),可能是由于requireJs中的异步事实。

我做了什么:

  1. 我按照上面提到的github 站点上的说明设置了 BumbleBee 环境
  2. 命令“ant examples”工作正常,两个测试用例都运行成功
  3. 我将 require-jquery.js 添加到依赖项(替换最初设置的 jquery.js)(这种方式遵循教程“如何将 jQuery 与 requireJS 一起使用” - 它在我们的整个 Web 应用程序中成功运行(并且工作正常)
  4. 我写了一些requireJS-Modules,在spec-files中需要它们,并且很快检测到它们不会被加载(spec-files将被加载,并且require-method将被执行,但不是ins内容)
  5. 然后我使用这些设置提示将requireJS与Node结合起来(这里也提到了rhino)

这些文件可能很有趣:

lib/bumblebee.js(我认为它是整个测试套件的入口点):

只有“A3”会打印到控制台,这里永远不会执行基于需求的代码。

然后我将define/require-parts放入示例文件中的规范文件中,并且还检测到,我不能将模块与require一起使用,因为它们不会被加载并且不会被加载。

考虑来自 BambleBee-Examples 的原始规范文件:

当我现在使用 requireJS 特定的模块时,它们也不会被加载:

问题

有没有办法将 Envjs 与 requireJS 结合起来,或者 EnvJS 对我们来说是错误的测试工具吗?非常感谢任何提示!

0 投票
1 回答
448 浏览

javascript - Rhino 命令行执行被杀死 - 可能是什么原因/如何调试

我们有一个带有 Rhino + Envjs 和运行 Ubuntu 的 CI 服务器的 Javascript 测试设置。我们使用以下命令从命令行运行我们的测试:

现在我们出乎意料地遇到了以下问题:测试运行停止,只打印以下内容:

在另一台计算机 (Mac) 上,相同的测试顺利通过。我尝试了调试开关-debug和 Java 内存大小-Xmx1024m,但这些都没有帮助。

注意:这次重启服务器解决了这个问题。

更新:几天后,今天发生了几次,但是随后的构建成功了。

更新2:这似乎不时发生,有时也在测试成功运行后发生。

这可能只是一个案例,但是如果再次发生这种情况,您是否知道可能是什么原因或如何调试 Rhino?

兄弟,图科

0 投票
0 回答
766 浏览

android - rhino + env.rhino.js Android 上的 StackOverflowError

我阅读了其他人在 Android 上成功使用 env.rhino.js 的报告。我还让 rhino 在 Android 应用程序中正常工作并执行简单的脚本,在 Java 和 JavaScript 之间双向传递参数。但是,当我尝试使用 env.rhino.js 时,无论我找到和使用哪个版本的 envJ,也无论哪个 rhino(尝试过 rhino1_7R2、rhino1_7R5 和 rhino1_7R5pre),我都会收到 StackOverflowError。基于活动的类中的代码是:

也尝试了不同的版本设置,没有任何帮助。我得到的堆栈跟踪是:

这怎么可能解决?同样,一个类似的函数可以执行非常简单的 JavaScript 代码。而且,请不要告诉我改用 WebView 来执行 JavaScript 代码。我需要一个具有 JavaScript 功能的“无头浏览器”,可以从 Android 服务调用,在后台进行一些网页抓取,而用户则在屏幕上忙于其他事情。

格雷格

0 投票
3 回答
4368 浏览

javascript - Java 应用程序中的 Envjs 和 Rhino - 在哪里可以找到 env.rhino.js?

我正在尝试在 java 应用程序中运行envjs和 Rhino 以使用 D3.js 呈现 SVG。

到目前为止,我可以使用 Rhino 评估较小的函数,但是在设置 envjs 时,问题就开始了。最重要的是,关于 envjs 的唯一教程谈到了一个名为 env.rhino.js 的文件。但我不知道在哪里可以找到它。

有人可以帮帮我吗?

(是的,谷歌显示了一些结果,但它们不是正式属于 Rhino 或 envjs)

0 投票
1 回答
1135 浏览

rhino - Rhino 和 envjs:与 Java 应用程序共享 Javascript 对象

我正在使用嵌入在我的 java 应用程序中的 rhino 和 envjs,如envjs 指南中所述

Java代码:

这是有效的,我的测试 javascript 文件正确加载了一个远程站点并使用 jQuery 对 HTML 元素进行了一些操作。

我不知道如何将数据从 JavaScript 发送回我的 Java 应用程序。

这是我的 .js 文件:

0 投票
2 回答
6704 浏览

java - 从 java 代码调用 javascript(jQuery/Envjs)

我正在尝试从 Java 执行 Javascript 代码。Javascript 代码使用 jquery,所以我在我的代码之前添加了 jquery.js。但它会引发以下异常,

当我从 Java 代码运行它时,我知道它无权访问窗口对象,所以上面的异常。我发现 EnvJs 提供了所需环境的实现,所以我尝试通过将其内容放在首位来加载它,同时将脚本内容生成到 eval。但遇到以下异常,


以下是代码片段,


我不使用任何浏览器功能,因此不需要对象之类的窗口。所以理想情况下我不想加载Envjs。请让我知道如何加载 jQuery 代码。


还有一个问题 - 如何将 Java 代码中的 Json 对象作为参数传递给 Javascript 函数?


http://www.envjs.com/dist/env.rhino.1.2.js
http://code.jquery.com/jquery-1.9.0.min.js