当我尝试构建我的项目时,它可以工作但是当它调用数据库时我得到了错误
./node_modules/msnodesqlv8/lib/sqlserver.native.js
module not found: Error: Can't resolve 'fs'
./node_modules/msnodesqlv8/lib/tableMgr.js
module not found: Error: Can't resolve 'fs'
我不确定错误是什么告诉我我已经尝试重新安装软件包并清除缓存以及npm安装我在这里缺少什么
答案 0 :(得分:2)
Node的内置模块(例如path
,fs
和http
)仅在Node中可用,而不在浏览器中。 msnodesqlv8
模块使用fs
,很可能使用本机代码,因此它也无法在浏览器中运行。这是NPM用于后端和前端开发的缺点之一 - 有时(特别是初学者)很难说哪些库在哪些环境中工作。
如果要从前端应用程序连接到数据库,则必须通过HTTP公开它 - 通过拥有自己的REST服务委托给数据库,或者可能通过使用具有内置REST服务。
或者,如果您不需要从多台计算机访问数据,则可以使用某种基于浏览器的存储来保留数据,例如localStorage或PouchDB 。但是,如果您想使用SQL Server,那么您将不得不采用REST路由。