我正在尝试使用Create React App以及sqlite3模块来构建页面。在它们的默认配置中,这两件事似乎不兼容。一般来说,我是React和JS的新手,所以我希望这里缺少明显的东西。
使用npx v6.9.0和Node v12.4.0,我可以通过键入npx create-react-app test
,cd test
,npm start
来重现此内容。
到目前为止,一切都很好。我输入:npm install sqlite3
,并收到一个npm警告,提示我应该安装打字稿。好的,我输入npm install typescript
。都好。我启动了该应用程序,到目前为止,它已编译。太好了!
我打开App.js,然后根据sqlite3的自述文档在import
行下键入var sqlite3 = require('sqlite3').verbose();
这可能是我做错事的地方。我的应用程序现在无法编译,告诉我:
./node_modules/sqlite3/node_modules/node-pre-gyp/lib/info.js
Module not found: Can't resolve 'aws-sdk' in '/Users/brendanlandis/Desktop/test/node_modules/sqlite3/node_modules/node-pre-gyp/lib'
我尝试npm install aws-sdk
,这使我走得更远。我的应用仍然无法编译,但是现在错误是:
TypeError: stream is undefined
./node_modules/set-blocking/index.js/</module.exports/<
node_modules/set-blocking/index.js:3
1 | module.exports = function (blocking) {
2 | [process.stdout, process.stderr].forEach(function (stream) {
> 3 | if (stream._handle && stream.isTTY && typeof stream._handle.setBlocking === 'function') {
4 | stream._handle.setBlocking(blocking);
5 | }
6 | });
在谷歌搜索中,我还没有弄清楚自己在做什么错。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:0)
ReactJS主要是一个前端框架,您应该创建一个后端服务器。
某些NPM软件包与前端JS应用程序不兼容。
您的React应用程序将调用服务器,然后服务器操纵数据库事务。例如,您可以使用express js。以下有用的文档: