React Native – не может импортировать мангуст на переднем конце (но он работает с бэкэнд)

Я не мог импортировать мангуст на интерфейс, но он работал на бэкэнде.

У меня есть отдельный каталог для бэкэнд. У меня есть код для добавления пары пользователей в мою базу данных. Вот…..

import mongoose from 'mongoose'; import User from './models/user'; const users = [ { id: 1, username: 'Matthew', password: 'Smith', }, { id: 2, username: 'Deborah', password: 'Smith', }, ]; // Connect to MongoDB mongoose.connect('mongodb://localhost/users'); // Go through each movie users.map(data => { // Initialize a model with movie data const user = new User(data); // and save it into the database user.save(); }); 

Вышеприведенный код работает.

Теперь я хочу, чтобы мой экран входа в систему принял имя пользователя и пароль и отправил его в базу данных. Я застрял, потому что я не могу даже импортировать мангуст (вы увидите ниже, что я прокомментировал это).

Ошибка, которую я получаю: «TransformError: [путь к каталогу моего проекта] /node_modules/mongoose/lib/drivers/index.js: require () должен иметь один строковый литерал: [путь к каталогу моего проекта] / mongoose / Библиотека / драйверы / index.js: 7′

Код экрана входа в систему:

 import React from 'react'; import { StyleSheet, Text, View,Navigator,TextInput, KeyboardAvoidingView,TouchableOpacity, AsyncStorage, } from 'react-native'; //import mongoose from 'mongoose'; import { StackNavigator, } from 'react-navigation'; export default class Login extends React.Component { //check to see if user has logged in already componentDidMount(){ this._loadInitialState().done(); } //get info from async storage _loadInitialState = async () => { var value = await AsyncStorage.getItem('user'); if(value != null){ //if the user is already logged in this.props.navigation.navigate('Profile'); //**profile page that we will create later } } constructor(props){ super(props); this.state = { username: '', password: '', } } render() { return ( //    - LOGIN -   this.setState({username})} />  this.setState({password})} />   Log in   //  ); } login = () => { alert('test'); //send to server fetch('http://1.1.1.1/3000/users', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify({ username: this.state.username, password: this.state.password, }) }) //handle response .then((response) => response.json()) .then((res) => { //if user and pass exists, then log them in // res: result if(res.sucess === true){ AysncStorage.setItem('user',res.user); this.props.navigation.navigate('Profile'); //navigate user to profile page } //else, tell the user they dont exist in the database else{ alert(res.message); } }) .done(); } } const styles = StyleSheet.create({ wrapper: { flex: 1, }, container: { flex: 1, backgroundColor: '#2896d3', alignItems: 'center', justifyContent: 'center', paddingLeft: 40, paddingRight: 40, }, header: { fontSize: 24, marginBottom: 60, color: '#fff', justifyContent: 'center', paddingLeft: 40, paddingRight: 40, }, textInput: { alignSelf: 'stretch', paddingLeft: 16, marginBottom: 20, backgroundColor: '#fff', }, btn: { alignSelf: 'stretch', padding: 20, marginBottom: 20, backgroundColor: '#01c853', alignItems: 'center', }, }); 

Почему я не могу импортировать его?

Только сегодня я узнал о модуле браузера Mongoose, пытаясь решить подобные проблемы для вас. Это очень ограниченная версия Mongoose, но позволит вам проверять схемы, например, на интерфейсе. Извините, я только нашел это через 6 месяцев после вашего сообщения.

В библиотеке браузера Mongoose не поддерживается mongoose.connect() . Он поддерживает только схемы и проверку документа, он не может фактически подключиться к MongoDB или сохранить документы в настоящее время.