Node.js 在节点JS中访问DOM对象

Node.js 在节点JS中访问DOM对象,node.js,tensorflow.js,Node.js,Tensorflow.js,我正在使用Microsoft()提供的Github存储库中的一段代码片段在Node js中使用Tensorflow.js模型 在这里,他们使用document.getElementById()访问图像元素,然后将其传递给函数进行预测,但它是在DOM不可用的Node.js代码之间编写的。这个代码不正确吗?或者有没有办法访问节点JS中的HTML元素 const cvstfjs = require('@microsoft/customvision-tfjs'); async function doT

我正在使用Microsoft()提供的Github存储库中的一段代码片段在Node js中使用Tensorflow.js模型

在这里,他们使用document.getElementById()访问图像元素,然后将其传递给函数进行预测,但它是在DOM不可用的Node.js代码之间编写的。这个代码不正确吗?或者有没有办法访问节点JS中的HTML元素

const cvstfjs = require('@microsoft/customvision-tfjs');

async function doThings() {
  let model = new cvstfjs.ObjectDetectionModel();
  await model.loadModelAsync('model.json');
  const image = document.getElementById('image');
  const result = await model.executeAsync(image);
  return result;
}

doThings().then((result) => {
  console.log(result);
});

在浏览器中通过使用TF并像往常一样操作DOM

或者,如果您想要服务器端的乐趣,请使用cheerio库

npm i cheerio

const cheerio = require('cheerio')

var html = await fs.readFile('./dong.html')

const $ = cheerio.load(html.toString())

$('#element').text()

你怎么知道它不能在浏览器中运行,必须在node.js中运行?@CodyG Github存储库告诉用户使用npm下载模块,然后使用此代码加载模块并运行对象检测模型npm可用于下载浏览器(客户端)模块——通常使用绑定器,或者如果它们是预构建的,则可以通过web服务器(如节点)静态提供。@CodyG 谢谢,我不知道。但是“require”可以在网页中使用吗?代码段还使用了“导入”要导入模块,但由于错误,我将其更改为require:无法在模块外使用import语句只能使用
,因为您没有使用像
webpack
这样的捆绑程序。您说得对,node.js不支持
导入
——我不确定包含这些脚本后会发生什么,我假设
cvstfjs
将在全球范围内提供