Javascript require () fungsi yang memberikan ReferenceError: require tidak ditentukan

94

Pada dasarnya, saya menggunakan javascript untuk mengikis data dari Google Play Store menggunakan:

1-Permintaan

2-Cheerios

3-QueryString

Saya menggunakan Google Market API dari Github yang menggunakan Requirement sebagai berikut:

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

Tapi saya mendapatkan yang berikut ini

ReferenceError: memerlukan tidak ditentukan ...

Jadi, saya tidak membutuhkan javascript yang baru untuk saya atau ini adalah sesuatu yang luar biasa.

Hunain Usman
sumber
15
Ya, requiretidak ditentukan di browser. Anda mencampur tutorial NodeJS dengan tutorial browser.
elclanrs
1
Harap berikan link ke perpustakaan yang Anda gunakan.
Quentin

Jawaban:

86

RequireJS adalah file JavaScript dan modul pemuat. Ini dioptimalkan untuk penggunaan dalam browser, tetapi dapat digunakan di lingkungan JavaScript lain, seperti Rhino dan Node. Menggunakan pemuat skrip modular seperti RequireJS akan meningkatkan kecepatan dan kualitas kode Anda.

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

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

Tambahkan ini ke proyek Anda: https://requirejs.org/docs/release/2.3.5/minified/require.js

dan lihat di http://requirejs.org/docs/api.html ini

Bubut
sumber
32

Secara default require()bukan fungsi yang valid di javascript sisi klien. Saya sarankan Anda melihat ke require.js karena ini memperluas sisi klien untuk memberi Anda fungsi itu.

neelsg
sumber
12

requireadalah bagian dari Asynchronous Module Definition (AMD) API .

Implementasi browser dapat ditemukan melalui require.js dan dukungan asli dapat ditemukan di node.js .

Dokumentasi untuk perpustakaan yang Anda gunakan harus memberi tahu Anda apa yang Anda butuhkan untuk menggunakannya, saya curiga itu dimaksudkan untuk berjalan di bawah Node.js dan bukan di browser.

Quentin
sumber
@blogger - Tidak ada PHP dalam pertanyaan Anda, semuanya JavaScript.
Quentin
maaf ya, posting pertanyaan yang salah, telah menghapus bahwa link sumbernya adalah: link dan itu berbasis javascript, masih belum dapat menyelesaikan masalah menggunakan require.js
Hunain Usman
@blogger - Modul itu memiliki semua keunggulan yang dirancang untuk dijalankan dengan Node.JS. Ini mungkin tidak akan berfungsi sama sekali di browser.
Quentin
setelah membaca semua jawaban dari pertanyaan ini saya bisa mengerti sekarang,: p thanx atas kerja sama dan pengkodean Anda dan mulai meneliti node.js sekarang
Hunain Usman
membutuhkan adalah bagian dari Commonjs bukan AMD.
shin
4

Ya, require adalah fungsi Node.JS dan tidak berfungsi di skrip sisi klien tanpa persyaratan tertentu. Jika Anda mendapatkan kesalahan ini saat menulis kode electronJS, coba yang berikut ini:

Dalam deklarasi BrowserWindow Anda, tambahkan bidang webPreferences berikut: yaitu, alih-alih biasa mainWindow = new BrowserWindow(), tulis

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

Bagi saya masalahnya adalah saya tidak menyetel mode build webpack ke produksi untuk paket yang saya referensikan. Secara eksplisit menyetelnya ke "build": "webpack --mode production" memperbaiki masalah tersebut.

pengguna1278577
sumber