如何在J2V8中包含依赖项?我想在javascript文件中使用某些依赖项,例如加密包。
var crypto = require('crypto');
function foo(){ return crypto.createHash('md5').update('Apple').digest("hex");}但是,我得到了以下错误,说require关键字未定义。
undefined:1: ReferenceError: require is not defined
var crypto = require('crypto');
^
ReferenceError: require is not defined at <anonymous>:1:14
com.eclipsesource.v8.V8ScriptExecutionException
at com.eclipsesource.v8.V8._executeVoidScript(Native Method)谁能告诉我如何将包导入到J2V8中?
发布于 2017-02-02 06:37:50
除非您正在使用Node,否则require不是一个特性。通常,您希望使用像webpack这样的捆绑器将结构化源代码打包到一个大文件中,以便浏览器能够理解它。通过这种方式,你可以为你的前端代码使用require和npm包,这使得开发变得更容易,捆绑器将每次构建(或实时更新)时的代码转换成一种不同的格式,这对人类来说很难阅读,但却是有效的Javascript。
发布于 2017-02-12 21:29:04
我已经成功地在J2v8中使用了节点模块,请查看这个博客:http://eclipsesource.com/blogs/2016/07/20/running-node-js-on-the-jvm/
NodeJs nodeJS = NodeJs.createNodeJs();
注册回调后
NodeJs.exec(要执行的文件脚本)
确保在require()命令中有到节点模块的正确路径。
发布于 2017-10-20 17:24:24
您可能必须创建一个nodejs包,该包获取依赖项并导出所需的内容。然后,您必须手动执行npm install。
或者你可以直接使用npm install what-you-need。
创建Node JS Runtime,并使用require和your-package-dir/index.js或所需模块的确切位置。如下所示:
V8Object module = nvm.require(file);现在您可以调用函数likes:
module.executeJSFunction("test");要交付完整的依赖项,您必须自己捆绑模块目录。
如果你必须支持跨平台,也可以参考https://www.npmjs.com/package/node-pre-gyp。
https://stackoverflow.com/questions/41905327
复制相似问题