Javascript require () fonksiyonu ReferenceError veriyor: require tanımlanmadı


94

Temel olarak, Google Play mağazasından veri almak için javascript kullanıyorum:

1-İstek

2-Cheerios

3-QueryString

Aşağıdakileri gerektiren Github'dan Google Market API kullandım:

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

Ama şunu alıyorum

ReferenceError: gereksinim tanımlanmadı ...

Yani, javascript'te benim için yeni olan ya da sıra dışı bir şey olan bir gereksinimim yok.


15
Evet, requiretarayıcılarda tanımlanmamıştır. NodeJS eğitimlerini tarayıcı eğitimleriyle karıştırdınız.
elclanrs

1
Lütfen kullandığınız kitaplığa bir bağlantı sağlayın.
Quentin 14

Yanıtlar:


86

RequireJS bir JavaScript dosyası ve modül yükleyicidir. Tarayıcı içi kullanım için optimize edilmiştir, ancak Rhino ve Node gibi diğer JavaScript ortamlarında da kullanılabilir. RequireJS gibi modüler bir betik yükleyici kullanmak kodunuzun hızını ve kalitesini artıracaktır.

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

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

Bunu projenize ekleyin: https://requirejs.org/docs/release/2.3.5/minified/require.js

ve şu http://requirejs.org/docs/api.html sayfasına bir göz atın


32

Varsayılan olarak require(), javascript istemci tarafında geçerli bir işlev değildir. Size bu işlevi sağlamak için istemci tarafını genişlettiği için require.js'ye bakmanızı öneririm .


12

requireEşzamansız Modül Tanımı (AMD) API'sinin bir parçasıdır .

Bir tarayıcı uygulaması, require.js aracılığıyla bulunabilir ve yerel destek, node.js'de bulunabilir. .

Kullandığınız kitaplığın belgeleri size onu ne kullanmanız gerektiğini söylemelidir, bunun tarayıcılarda değil Node.js altında çalışmasının amaçlandığından şüpheleniyorum.


@blogger - Sorunuzda PHP yok, hepsi JavaScript.
Quentin 14

Bunun için üzgünüz, yanlış soru üzerine gönderilmiş, kaynak bağlantının şu olduğunu sildim: link ve javascript tabanlı, hala require.js kullanarak sorunu çözemiyor
Usman,

@blogger - Bu modül, Node.JS ile çalışacak şekilde tasarlanmış tüm özelliklere sahiptir. Muhtemelen bir tarayıcıda hiç çalışmayacaktır.
Quentin

bu sorudaki tüm cevapları okuduktan sonra şimdi anlayabiliyorum,: işbirliğiniz ve kodlamanız için p thanx ve şimdi node.js üzerinde araştırmaya başladım
Usman

Required, AMD'nin değil Commonjs'in bir parçasıdır.
shin

4

Evet, gereksinim bir Node.JS işlevidir ve belirli gereksinimler olmadan istemci tarafı komut dosyasında çalışmaz. ElectronJS kodunu yazarken bu hatayı alıyorsanız, şunu deneyin:

BrowserWindow bildiriminize aşağıdaki webPreferences alanını ekleyin: ör. Düz yerine mainWindow = new BrowserWindow()yazın

mainWindow = new BrowserWindow({
        webPreferences: {
            nodeIntegration: true
        }
    });

2

Benim için sorun, referans verdiğim paket için web paketi oluşturma modumun üretim olarak ayarlanmamasıydı. Açıkça "build" olarak ayarlamak: "webpack --mode production" sorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.