Javascript require() function giving ReferenceError: require is not defined

落爺英雄遲暮 提交于 2019-12-17 02:24:07

问题


Basically, I am using javascript to scrape data from Google Play store using:

1-Request

2-Cheerios

3-QueryString

I used Google Market API from Github which uses require as following:

var request   = require('request');
var cheerio   = require('cheerio');
var qs      = require('querystring');

But I am getting the following

ReferenceError: require is not defined ...

So, I don't have require in javascript which is either new for me or this is something out of the ordinary.


回答1:


RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.

IE 6+ .......... compatible ✔
Firefox 2+ ..... compatible ✔
Safari 3.2+ .... compatible ✔
Chrome 3+ ...... compatible ✔
Opera 10+ ...... compatible ✔

http://requirejs.org/docs/download.html

Add this to your project: https://requirejs.org/docs/release/2.3.5/minified/require.js

and take a look at this http://requirejs.org/docs/api.html




回答2:


By default require() is not a valid function in client side javascript. I recommend you look into require.js as this does extend the client side to provide you with that function.




回答3:


require is part of the Asynchronous Module Definition (AMD) API.

A browser implementation can be found via require.js and native support can be found in node.js.

The documentation for the library you are using should tell you what you need to use it, I suspect that it is intended to run under Node.js and not in browsers.




回答4:


For me the issue was I did not have my webpack build mode set to production for the package I was referencing in. Explicitly setting it to "build": "webpack --mode production" fixed the issue.



来源:https://stackoverflow.com/questions/23603514/javascript-require-function-giving-referenceerror-require-is-not-defined

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!