我是JavaScript新手,我很确定我遗漏了从HTML页面使用JS(通过Web浏览器浏览)的基本功能。
我的目标是使用cheerio从a dynamic website中删除照片链接并将其显示在js小工具中(例如,使用lightslider),它看起来非常成功following this tutorial以获取以下脚本并在bash终端中通过 nodejs scrapt.js 运行它:
var request = require('request');
var cheerio = require('cheerio');
request('https://outbox.eait.uq.edu.au/uqczhan2/Photos/', function (error, respo
if (!error && response.statusCode == 200) {
console.log(html);
}
});
但现在我无法在一般的webbrowser中运行此脚本(通过按f12 - >控制台),因为在第一个语法后显示错误:
>var request = require('request');
VM85:1 Uncaught ReferenceError: require is not defined
at <anonymous>:1:15
我知道在使用它们之前需要加载一些JavaScript模块,例如d3.js.我需要跑:
<script src="https://d3js.org/d3.v4.min.js"></script>
使用所有d3功能。我应该如何实现允许我在网络浏览器中使用cheerio的相同内容?
答案 0 :(得分:3)
您无法直接在浏览器中运行node.js代码。浏览browserify,这是一个允许您在浏览器中运行node.js代码的模块。
答案 1 :(得分:0)
简短答案与您包含d3 js库的方式相同。
require()
在requiredjs
中定义,要使用require函数加载请求cheerio,您需要先导入requirejs
,方法与导入d3相同。 requirejs site
Nodejs是服务器端javascript,在尝试在客户端的浏览器中运行它们时需要非常小心。比如创建休息端点是服务器端,无法在浏览器中完成。
如上面的答案所示,你可以使用像webpack
之类的构建系统或像systemjs
这样的加载器来加载脚本。
答案 2 :(得分:0)