基本上,我使用javascript从Google Play商店中抓取数据:
1 - 请求
2-麦片
3-查询字符串
我使用了Github的Google Market API,其中使用require如下:
var request = require('request');
var cheerio = require('cheerio');
var qs = require('querystring');
但我得到以下
ReferenceError:未定义require ...
所以,我没有javascript的要求,这对我来说是新的,或者这是不寻常的。
答案 0 :(得分:60)
RequireJS是一个JavaScript文件和模块加载器。它经过优化 在浏览器中使用,但它可以在其他JavaScript环境中使用, 像Rhino和Node。使用像RequireJS这样的模块化脚本加载器 提高代码的速度和质量。
IE 6+ .......... compatible ✔ Firefox 2+ ..... compatible ✔ Safari 3.2+ .... compatible ✔ Chrome 3+ ...... compatible ✔ Opera 10+ ...... compatible ✔
http://requirejs.org/docs/download.html
将此添加到您的项目中:https://requirejs.org/docs/release/2.3.5/minified/require.js
答案 1 :(得分:22)
默认情况下,require()
不是客户端javascript中的有效函数。我建议您查看require.js,因为这会扩展客户端以为您提供该功能。
答案 2 :(得分:8)
require
是Asynchronous Module Definition (AMD) API的一部分。
可以通过require.js找到浏览器实施,并且可以在node.js中找到原生支持。
您正在使用的库的文档应该告诉您需要使用它的内容,我怀疑它是在Node.js下运行而不是在浏览器中运行。
答案 3 :(得分:4)
是的,require是一个Node.JS函数,在没有特定要求的情况下无法在客户端脚本中使用。如果在编写electronJS代码时遇到此错误,请尝试以下操作:
在BrowserWindow声明中,添加以下webPreferences字段: 即写
,而不是简单地mainWindow = new BrowserWindow()
mainWindow = new BrowserWindow({
webPreferences: {
nodeIntegration: true
}
});
答案 4 :(得分:2)
Require (https://requirejs.org/) 是一个 AMD API。我在我的应用程序中实现 monaco-editor 时遇到了类似的问题。这个脚本标签帮助了我:
<script src="https://requirejs.org/docs/release/2.3.5/minified/require.js"></script>
答案 5 :(得分:2)
浏览器没有定义 require 方法,但 Node.js 有。使用 Browserify,您可以编写使用 require 的代码,就像在 Node 中使用它一样。
使用以下命令安装browserify
npm install -g browserify
现在使用 browserify 命令递归地将所有必需的模块(如 main.js)捆绑到一个名为 bundle.js 的文件中:
browserify main.js -o bundle.js
将单个标签放入您的 html 中,您就大功告成了!
<script src="bundle.js"></script>
欲了解更多详情,请点击此处 https://www.npmjs.com/package/browserify 和 https://browserify.org/#install
答案 6 :(得分:0)
对我来说,问题是我没有将我要引用的软件包的webpack构建模式设置为生产。将其显式设置为“ build”:“ webpack --mode production”解决了该问题。