【发布时间】:2020-03-05 01:48:25
【问题描述】:
当我使用 require commonjs 时,一切正常
const { Schema, connect } = require("mongoose");
connect("mongodb://localhost:27017/usersdb", {
useNewUrlParser: true
});
但是当我使用 import es6 时出现错误
import { connect } from "mongoose";
connect(
"mongodb://localhost:27017/usersdb",
{
useNewUrlParser: true
}
);
SyntaxError: The requested module >'file:///C:/Users/Rich%20Warrior/Desktop/mon0022/node_modules/mongoose/index>.js' 不提供 名为“连接”的导出
如果你这样写
import * as mongoose from "mongoose";
mongoose.connect("mongodb://localhost:27017/usersdb", {
useNewUrlParser: true
});
TypeError: mongoose.connect 不是函数
package.json
{
"name": "dur",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "nodemon -r esm src/index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"esm": "^3.2.25",
"express": "^4.17.1",
"i": "^0.3.6",
"mongoose": "^5.7.8",
"nodemon": "^1.19.4"
}
}
我想使用 es6 模块。有没有办法在 mongoose 中使用 es6 模块而不会出错?
【问题讨论】:
-
这能回答你的问题吗? How can I use an es6 import in node?
-
你试过
import mongoose from "mongoose";吗?错误似乎很明显,没有 named 导出connect。所以import * as mongoose from "mongoose";也无济于事,因为它只导入命名的导出。 -
@FelixKling 为什么这里是
import mongoose, {connect} from" mongoose ";不起作用 -
我不确定我是否理解这个问题。
import mongoose, {connect} from" mongoose ";不起作用,因为您再次尝试导入不存在的名为connect的导出。正如我所说,尝试import mongoose from "mongoose";,然后使用mongoose.connect访问它。
标签: javascript node.js