Использование localForage и angular-localForage с Browserify вызывает ошибки с операторами require

Я пытаюсь установить localForage в приложение node.js (с Angular) и Browserify.

Вот ссылка на документацию localForage

Похоже, что использование localForage и angular-localForage вызывает проблему с браузером, основанную на использовании «require»


Если мне требуется файл localforage.js в файле src, я получаю следующую ошибку:

Warning: module "promise" not found from "/Users/mgayhart/Sites/epson-    receipts/bower_components/localforage/src/localforage.js" Use --force to continue.

Если мне требуется файл localforage.js в файле dist, я получаю следующую ошибку:

Warning: module "./drivers/indexeddb" not found from "/Users/mgayhart/Sites/epson-  receipts/bower_components/localforage/dist/localforage.js" Use --force to continue.

Кто-нибудь знает обходной путь, чтобы иметь возможность двигаться вперед с этими библиотеками?


person ccanduc    schedule 09.05.2014    source источник


Ответы (3)


Для меня сработало его установка через Bower и использование с browserify-shim. Итак, в package.json:

"browser": {
   "localforage":"./src/lib/vendor/localforage/dist/localforage.min.js"
},

"browserify-shim": {
   "localforage":"localforage"
}

И выставить его как угловой сервис (если вы не хотите использовать angular-localforage ):

app.factory "localforage",-> require 'localforage'
person iLemming    schedule 31.07.2014
comment
хотя внезапное обновление браузера и обновление версии localforage до последней версии сломало то, что раньше работало. расследование... - person iLemming; 07.10.2014
comment
хорошо, по-видимому, есть две проблемы? Во-первых: нужно установить Promise через npm (bower не сработает), а затем вместо указания на /dist/ расположение localforage.js нужно установить его в /src/, потому что src имеет папку с драйверами и при связывании может не найти их - person iLemming; 07.10.2014

На github есть проблема с этой проблемой: https://github.com/ocombe/angular-localForage/issues/26 Я скоро буду над этим работать, вы можете подписаться на уведомления github по этой проблеме, чтобы узнать, когда она будет исправлена!

person Olivier    schedule 12.08.2014

У меня была эта проблема сегодня вечером, но я думаю, что нашел решение.

Вместо того, чтобы пытаться заставить модули Bower работать с браузером, почему бы просто не использовать npm, как это было сделано?

npm install localforage, а затем, когда вы используете require, вам не нужно указывать путь

но у меня это все равно не работало, пока я не скопировал папку: localforage/src/drivers TO localforage/dist/drivers

Затем он нашел все зависимости и работал как чемпион!

В качестве альтернативы, если вы должны использовать Bower, вы можете попробовать использовать преобразование debowerify с gulp: https://github.com/eugeneware/debowerify

person Tim S.    schedule 13.05.2014
comment
Благодарю вас! Я думал, что на этот вопрос никогда не будет ответа - три дня в этих краях кажутся вечностью :D - person ccanduc; 13.05.2014
comment
Это все еще не работает (используя localforage через npm и перемещая драйверы в dist) - person iLemming; 30.07.2014