Я пытаюсь создать страницу, используя приложение Create React, а также модуль 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 и в readme doc 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 | });
В поисках гугла я еще не понял, что я делаю неправильно. Любая помощь будет оценена. Спасибо!