最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何使用MongoDB的ES6风格的进口导入?

运维笔记admin8浏览0评论

如何使用MongoDB的ES6风格的进口导入?

如何使用MongoDB的ES6风格的进口导入?

希望这是一个简单的问题。我试图用ES6导入MongoDB的进口从风格。如果我导入使用节点需要它工作正常。

let mongo = require('mongodb');
let MongoClient = mongo.MongoClient;

但是,如果我将其导入ES6方式它打破没有错误或日志。

import {MongoClient} from 'mongodb';

但是编译/运行它只是休息,当我尝试做任何事情MongoClient时,它不会破坏。

这里是我的数据库管理讲座

import {MongoClient} from 'mongodb';

export class DbManager {

  constructor() {
    console.log('Constructing DB Connection');
  }

}

当我跑我的服务器我得到其他经理和事件日志数。

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

但是,如果我做MongoClient的的console.log根本就没有输出。

import {MongoClient} from 'mongodb';

export class DbManager {

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

}

和输出看起来像这个 -

mycomputer myuser$ ./start.sh
mycomputer myuser$

有没有编译错误,所以我不明白为什么这是行不通的。此外,我不明白为什么没有任何日志!这是出现这种情况,应该至少是日志,直到这一点我想最后的事情之一。如果你想在这里看到我的start.sh脚本是(快速和肮脏的,不审判我):

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

编辑

继续寻找答案,同时等待(希望)响应。我考虑看看所产生的final.js如果MongoClient是System.register函数调用看起来像这 - 在文件中的任何地方使用

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

如果我不使用它(即使我导入),它并不显示mongodb

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

这可以解释为什么不会有事的。什么是错的,试图导入mongodb。还没想好该怎么做。

编辑编辑

找到了解决办法。一:我并不感到有,但也许这只是它必须方式。

我不认为我可以靠进口ES6。它看起来像我可以用它来导入类型定义,但不是实际的模块。我怎么解决这个得到的是像这个 -

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

很多额外的工作。如果有另一种方式请让我知道。

回答如下:
import { MongoClient } from 'mongodb';

只是进口类型定义从node_modules/@types/mongodb/index.d.ts

import * as mongodb from 'mongodb';

从node_modules / MongoDB的/ index.js及其同进口一切

let mongodb = require('mongodb');
发布评论

评论列表(0)

  1. 暂无评论