Open byr-gdp opened 9 years ago
+1
用的是webpack进行打包,下面是我的解决办法,至少可以正常打包了,但是还有问题
找不到localStorage这个问题是路径没有设置正确
try {
Bmob.localStorage = require('localStorage');
} catch(error) {
Bmob.localStorage = require('./localStorage.js').localStorage;
}
这里,catch部分的./localStorage.js
找不到。虽然这个module的entry是./lib/localStorage.js
,但是直接手写./localStorage.js
恐怕是不行的,至少webpack找不到这个文件。
解决方式有两种,一种是对webpack的directory context进行设置(虽然可以解决问题,但是相当难受),另一种就是直接删掉catch部分(暂时消除打包错误以便继续开发)。
剩下两个问题是xmlHttpRequest的依赖问题。它依赖了node的fs和child_process模块,但是在浏览器端实际上你根本不会用到这两个模块,所以解决方法是设置webpack的alias module,使用原生的XMLHttpRequest代替之。
externals:[{
xmlhttprequest: '{XMLHttpRequest:XMLHttpRequest}'
}]
参考这个issue 但是这么做后会发生跨域错误,估计是原生XMLHttpRequest的问题吧,要不然也不会去依赖node的模块了
@southerncross 感觉是填了一个坑又挖出另一个坑......
@byr-gdp 所以我还是放弃了。。。
@southerncross 不过我还是决定按照你的思路试一下。嗯,解决问题的思路很重要。:)
我的报了 Error: Cannot find module 'request' 在initialize的时候
同样的问题
是不是引错代码了?
不好意思,引入的是npm install bmob-nodejs ,我已经用这个库开发了一个示范管理后台,地址https://node.bmobcloud.com/#/login,开源在Bmob 的node-admin项目里面,大家有问题可以继续提问
错误信息
ERROR in ./~/bmob/sdk/bmob.js Module not found: Error: Cannot resolve 'file' or 'directory' ./localStorage.js in /Users/gdp/Code/me/bookTradeOnVue/node_modules/bmob/sdk @ ./~/bmob/sdk/bmob.js 1264:22-50ERROR in ./~/bmob/~/xmlhttprequest/lib/XMLHttpRequest.js Module not found: Error: Cannot resolve module 'child_process' in /Users/gdp/Code/me/bookTradeOnVue/node_modules/bmob/node_modules/xmlhttprequest/lib @ ./~/bmob/~/xmlhttprequest/lib/XMLHttpRequest.js 15:12-36
ERROR in ./~/bmob/~/xmlhttprequest/lib/XMLHttpRequest.js Module not found: Error: Cannot resolve module 'fs' in /Users/gdp/Code/me/bookTradeOnVue/node_modules/bmob/node_modules/xmlhttprequest/lib @ ./~/bmob/~/xmlhttprequest/lib/XMLHttpRequest.js 16:9-22