0

我正在将电子项目转移到科尔多瓦。要使用 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

如何解决问题?赢平台

4

1 回答 1

0

Electron 和 Cordova 不一样,Electron 实现 NodeJS API,而 Cordova 使用自己的 API。如果你想在 cordova 中使用 SqlLite,你将不得不删除使用 NodeJS 的部分(如果你看到“require”这个词,它可能是一个节点导入——事实上,为了让你自己的生活更轻松,使用 ES6 导入WebPack 或 Browserify,以便您知道要删除哪些代码)。您可能可以在现代构建系统中使用大量 node_modules,但从 Electron 迁移到 Cordova 将是一项相当大的工作。如果你想使用 SQLite,SQLite Cordova 插件可能是最简单的方法,但它看起来与 NodeJs Sqlite API 有点不同。

于 2018-12-30T18:32:05.377 回答