Die Javascript-Funktion require () mit ReferenceError: require ist nicht definiert

90

Grundsätzlich verwende ich Javascript, um Daten aus dem Google Play Store zu entfernen:

1-Anfrage

2-Cheerios

3-QueryString

Ich habe die Google Market-API von Github verwendet, für die Folgendes erforderlich ist:

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

Aber ich bekomme folgendes

ReferenceError: require ist nicht definiert ...

Ich brauche also kein Javascript, was entweder für mich neu ist oder etwas Außergewöhnliches ist.

Hunain Usman
quelle
15
Ja, requireist in Browsern nicht definiert. Sie haben NodeJS-Tutorials mit Browser-Tutorials gemischt.
Elclanrs
1
Bitte geben Sie einen Link zu der Bibliothek an, die Sie verwenden.
Quentin

Antworten:

84

RequireJS ist ein JavaScript-Datei- und Modullader. Es ist für die Verwendung im Browser optimiert, kann jedoch auch in anderen JavaScript-Umgebungen wie Rhino und Node verwendet werden. Die Verwendung eines modularen Skriptladeprogramms wie RequireJS verbessert die Geschwindigkeit und Qualität Ihres Codes.

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

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

Fügen Sie dies Ihrem Projekt hinzu: https://requirejs.org/docs/release/2.3.5/minified/require.js

und werfen Sie einen Blick auf diese http://requirejs.org/docs/api.html

Latheesan
quelle
32

Standardmäßig require()ist keine gültige Funktion in clientseitigem Javascript. Ich empfehle, dass Sie sich require.js ansehen, da dies die Clientseite erweitert, um Ihnen diese Funktion bereitzustellen.

neelsg
quelle
12

requireist Teil der AMD-API (Asynchronous Module Definition) .

Ein Browser - Implementierung kann über gefunden werden require.js und native Unterstützung finden Sie in node.js .

Die Dokumentation für die Bibliothek, die Sie verwenden, sollte Ihnen sagen, was Sie benötigen, um sie zu verwenden. Ich vermute, dass sie unter Node.js und nicht in Browsern ausgeführt werden soll.

QUentin
quelle
@blogger - Es gibt kein PHP in Ihrer Frage, es ist alles JavaScript.
Quentin
Tut mir leid, dass ich auf der falschen Frage gepostet habe, dass der Quelllink lautet: Link und Javascript basiert, immer noch nicht in der Lage, das Problem mit require.js zu lösen
Hunain Usman
@blogger - Dieses Modul weist alle Merkmale auf, die für die Ausführung mit Node.JS entwickelt wurden. In einem Browser funktioniert es wahrscheinlich überhaupt nicht.
Quentin
Nachdem ich alle Antworten auf diese Frage gelesen habe, kann ich jetzt verstehen: Danke für Ihre Zusammenarbeit und Codierung und begann jetzt mit der Recherche zu node.js
Hunain Usman
erfordern ist ein Teil von Commonjs nicht AMD.
Shin
3

Ja, require ist eine Node.JS-Funktion und funktioniert ohne bestimmte Anforderungen nicht in clientseitigen Skripten. Wenn beim Schreiben von ElectronJS-Code dieser Fehler auftritt, versuchen Sie Folgendes:

Fügen Sie in Ihrer BrowserWindow-Deklaration das folgende webPreferences-Feld hinzu: mainWindow = new BrowserWindow()Schreiben Sie statt einfach

mainWindow = new BrowserWindow({
        webPreferences: {
            nodeIntegration: true
        }
    });
Gaurav Joshi
quelle
2

Für mich war das Problem, dass ich meinen Webpack-Erstellungsmodus für das Paket, auf das ich verwies, nicht auf Produktion eingestellt hatte. Das explizite Festlegen auf "Build": "Webpack - Modus-Produktion" hat das Problem behoben.

user1278577
quelle