javascript - 如何使 javascript 代码与 node.js 和浏览器兼容
问题描述
我的一半 javascript 代码不在 node.js 中运行,另一半不在我的浏览器 (chrome) 中运行。
代码的前半部分运行一个外部“Hello World”.jar 文件并将字符串保存在输出变量中。此代码在 node.js 中运行没有问题。然而,当我尝试将输出变量的内容粘贴到 html(后半部分)上时,出现错误。浏览器无法识别 require() 语句以及 node.js 无法识别“文档”对象。我知道 Node.js 用于运行 javascript 代码前端和后端,但我不知道如何才能将这两个世界联系起来。
//first half
var jre = require('node-jre');
var output =
jre.spawnSync(["E:/proyectosJavaScript/prueba1/HelloWorld.jar"],
"hello.helloWorld", ["parametro"], { encoding: 'utf-8' })
.stdout.trim();
console.log(output);
//second half
var titulo = document.getElementById("P1t1");
titulo.innerHTML=`${output}`;
//browser response:
Uncaught ReferenceError: require is not defined at "nombreDelScript"
//node.js response:
ReferenceError: document is not defined
at Object.<anonymous> (E:\proyectosJavaScript\prueba1\libreto.js:125:14)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
解决方案
推荐阅读
- g++ - 在较旧的 g++ 环境中使用 c++17 预编译头文件
- javascript - 如何编码像“\u00c3\u00a7”这样的unicode序列?
- protocol-buffers - 在没有它们的情况下解析协议缓冲区数据
- asp.net-mvc - 在请求正文中将数据发布到另一个应用程序
- python - 有没有办法关联 n 个数组?
- javascript - 有没有办法将深度嵌套对象的所有值类型都定义为字符串类型?
- drupal - 如何从分类术语页面隐藏节点内容?
- python - 有没有办法在字典中获取最大的键值,并打印它的项目
- go - Golang big.Float 的精度问题
- mysql - 从每组中选择 N 个值