将localForage和angular-localForage与Browserify一起使用会导致require语句出错

时间:2014-05-09 20:47:13

标签: node.js angularjs offline browserify

我正在尝试将localForage安装到node.js应用程序(使用Angular)和Browserify。

Here is a link to the localForage documentation

使用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.

任何人都知道可以推进这些库的解决方法吗?

3 个答案:

答案 0 :(得分:2)

github上存在此问题:https://github.com/ocombe/angular-localForage/issues/26 我很快就会开始工作,你可以订阅关于这个问题的github通知,知道它什么时候修好!

答案 1 :(得分:1)

我今晚自己也遇到过这个问题,但我觉得我找到了解决办法。

不是试图让bower模块与browserify一起使用,为什么不直接使用npm来制作?

npm install localforage 然后当你使用require时,你不必给它路径

但在我复制文件夹之前,它仍然无法正常工作: localforage / src / drivers TO localforage / dist / drivers

然后它找到了所有的依赖关系并像冠军一样工作!

或者,如果您必须使用凉亭,您可以尝试使用debowerify变换w / gulp: https://github.com/eugeneware/debowerify

答案 2 :(得分:1)

我通过凉亭安装它并与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'