我正在将电子项目移到科尔多瓦。为了使用sqlite,我使用NPM插件sqlite-sync。在电子中,它工作完美。移植源代码并安装依赖项后,启动项目时出现错误。
ERROR in ./node_modules/sql.js/js/sql.js
Module not found: Error: Can't resolve 'fs' in 'D:\PROJECTS\PRODUCTIONS\MOBILE\\node_modules\sql.js\js'
@ ./node_modules/sql.js/js/sql.js 3:1275-1288 3:170484-170497
@ ./node_modules/sqlite-sync/sqlite.js
@ ./src/store/index.js
@ ./src/main.js
@ multi ./build/dev-client babel-polyfill ./src/main.js
如何解决问题?胜利平台
答案 0 :(得分:0)
Electron和Cordova并不相同,Electron实现了NodeJS API,而Cordova使用了自己的API。如果要在Cordova中使用SqlLite,则必须剔除使用NodeJS的部分(如果看到“ require”一词,则可能是节点导入-实际上,使用ES6导入可以使自己的生活更轻松WebPack或Browserify,以便您知道要提取的代码)。您可能可以在现代构建系统中使用很多node_modules,但是从Electron迁移到Cordova将会花费很多工作。如果要使用SQLite,SQLite Cordova Plugin可能是最简单的方法,但它看起来与NodeJs Sqlite API有所不同。