Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Comment importer MongoDB Utilisation d'importation de style es6?

J'espère que c'est une question simple. J'essaie d'importer MongoDB, En utilisant style ES6 import-from. Si j'importe avec node require, Ça fonctionne bien.


let mongo = require/'mongodb'/;
let MongoClient = mongo.MongoClient;


Mais si j'importe le chemin dans la voie es6, Il se casse sans erreurs ni magazines.


import {MongoClient} from 'mongodb';


Mais il ne casse pas quand la compilation/démarrage, il ne casse que lorsque j'essaie de faire quelque chose avec MongoClient.

Voici mon gestionnaire de classe


import {MongoClient} from 'mongodb';

export class DbManager {

constructor// {
console.log/'Constructing DB Connection'/;
}

}


Lorsque je gère mon serveur, je reçois plusieurs magazines d'autres gestionnaires et événements.


mycomputer myuser$ ./start.sh
Server Constructing
Route Manager Constructing
Initializing Route: Static
Constructing DB Connection
http server started on port: 8000


Mais si je fais console.log de MongoClient, Cette sortie ne sera pas.


import {MongoClient} from 'mongodb';

export class DbManager {

constructor// {
console.log/'Constructing DB Connection'/;
console.log/MongoClient/;
}

}


Et le rendement ressemble à


mycomputer myuser$ ./start.sh
mycomputer myuser$


Aucune erreur de compilation, je ne comprends donc pas pourquoi cela ne fonctionne pas. De plus, je ne comprends pas pourquoi il n'y a pas de magazines! C'est l'une des dernières choses qui se passe au moins jusqu'à ce que ce point devait être des magazines, je pense. Si vous voulez voir mon script
start.sh

le voilà /Rapide et sale, ne me jugez pas/:


tsc
echo "var System = require/'systemjs'/;" > dist/final.js
babel dist/typescript.js >> dist/final.js
echo "System.import/'main'/;" >> dist/final.js
node dist/final.js


EDIT

Continuer à chercher la réponse en attente /Espérant/ Réponse. Je regarde la résultante
final.js

, et si MongoClient Utilisé Anywhere File, puis Appelez la fonction
System.register

comme suit-


System.register/"db/db.manager", ["mongodb"] ...


Et si je ne l'utilise pas /Même si j'importe le/, Il ne montre pas
mongodb

.


System.register/"db/db.manager", [] ...


Cela explique pourquoi rien ne se passe. Quelque chose ne va pas avec essayer d'importer
mongodb

. Je ne sais pas quoi faire.

Éditer éditer

Trouver une solution. Je ne suis pas ravi de ça, mais peut-être que cela devrait être.

Je ne pense pas pouvoir compter sur l'importation es6. On dirait que je peux l'utiliser pour les importations typedefs, Mais pas le module lui-même. Comment je me suis promené autour de ceci est


import {Db as MongoDb, MongoClient} from 'mongodb';
let mongodb = require/'mongodb'/;
let mongoClient: MongoClient = mongodb.MongoClient;


Beaucoup de travail supplémentaire. S'il y a une autre façon, merci de me le faire savoir.
Invité:

Gilbert

Confirmation de:

import { MongoClient } from 'mongodb';


Il suffit d'importer le type de type de node_modules/@types/mongodb/index.d.ts


import * as mongodb from 'mongodb';


Importe des importations node_modules/mongodb/index.js Et c'est la même chose que


let mongodb = require/'mongodb'/;

Camille

Confirmation de:

Essayez-le:


import { default as mongodb } from 'mongodb';
let MongoClient = mongodb.MongoClient;

Hannah12

Confirmation de:

Je n'ai pas de chance d'utiliser
import 'mongodb'

, Donc j'ai utilisé
require

, Importé
createRequire

.


import { createRequire } from 'module'
const require = createRequire/import.meta.url/;
const { MongoClient } = require/'mongodb'/;


Je l'ai utilisé dans le fichier
.mjs

, Où require Pas même déterminé, et cela a fonctionné comme un sort.

Gabriel

Confirmation de:

Ça marche pour moi:


import mongodb from 'mongodb'
const { MongoClient } = mongodb

Pour répondre aux questions, connectez-vous ou registre