【发布时间】:2020-04-30 18:55:29
【问题描述】:
我有 json 文件(我使用 node.js 创建了这个 json 文件),我使用 json2html 库在 HTML 中读取,如果 json 文件存在/可读,那么它将上传到我们的服务器中。
我有 json2html 代码,可以读取 json 文件并根据 json 文件的内容打印 HTML 页面。如果 json 文件不可读或不存在,那么我希望 node.js / javascript 停止或退出该过程,以便没有任何内容上传到服务器。如果 json 文件不可用,我应该如何停止/退出代码进一步处理。
我在读取 json 文件的 HTML 文件中确实有 process.exit()。它不会优雅地退出。当我检查元素时,它会出错Uncaught (in promise) ReferenceError: process is not defined。我确实有npm i process,尽管流程是全球性的。我仍然在我的 index.js 文件中明确定义const process = require('process');。在浏览器中打开我的 html 文件时仍然出现错误。如何克服这个错误。请参考下面我的html文件中的代码
let responseContent = fetch('studentRecords.json')
.then(function(response) {
return response.json();
})
.catch(function(err) {
process.exit(1);
});
【问题讨论】:
-
您可以只记录错误,这就是您在获取过程中捕获错误的原因。即使您可以通过不存在的“进程”终止整个脚本执行,终止您的程序也不是优雅的错误处理
-
浏览器 JavaScript 中没有“进程”对象。
-
HTML 页面中的 JavaScript 在浏览器中运行,而不是在 node.js 中。 HTML 文件和任何脚本文件由 node.js 传递到浏览器,但它们在客户端计算机上的浏览器中运行。它们不在服务器上运行。因此,浏览器中没有
process对象,因为您只能在 HTML 页面中运行基于浏览器的 Javascript。process对象仅在运行服务器代码时在您的服务器上可用。
标签: javascript html node.js json2html