С помощью модуля node-google я написал простой модуль узла, чтобы включить функцию «текстового веб-поиска» для моего веб-приложения, представляя результаты в одном из моих представлений.
Поскольку после небольшого количества запросов от одного и того же IP-адреса Google возвращает ошибку 503, я решил использовать модуль на клиенте, поэтому это ограничение на клиент, а не на сервер.
Я использовал browserify, чтобы преобразовать модуль узла в скрипт, который будет отправлен на клиентской странице.
Сценарий просто требует «google.js», и это только 20 строк JavaScript длинные:Browserify производит * огромный * выходной файл
'use strict';
var google = require('google');
var Google = Object.create({});
var Google.search = function(text, callback) {
...
});
// end of the script
Команда я использую просто:
$ browserify google-search-module.js -o app/scripts/google-search.js
Проблема в том, что выход browserify производит far больше, чем я ожидал: модуль 1.2 kB станет скриптом 2,4 МБ! Вероятно, он включает все «google» зависимости, но ..,
Вопрос в следующем: это нормально? Ожидается ли, что моя поисковая страница загрузит файл размером 2,4 МБ для поиска текста в Google?
Я совершенно уверен, что я что-то не хватает, но не могу понять, что ... :-(
Помимо размера (вероятно, _is_, вызванного зависимостями), действительно ли он работает из браузера? – robertklep
У меня нет причин сомневаться, что он действительно работает в браузере., Но я даже не тестировал его: это вторичная проблема, учитывая размер файла. Однако, если это поможет, я постараюсь в ближайшее время и сообщить об этом здесь. – MarcoS
Если вы не можете заставить его работать в браузере для начала, большой размер больше не будет проблемой, я бы подумал: D – robertklep