【问题标题】:why is Requiring mongoose from local file is not working?为什么从本地文件中要求猫鼬不起作用?
【发布时间】:2022-02-22 18:33:24
【问题描述】:

所以我有代码

目录/app/script.js:-

// MongoDb
// Connect to MongoDB through Mongoose
const mongoose = require('mongoose')
mongoose.connect('mongodb://localhost:27012/profiles')

// Requiring the Schemas
const SignIn = require('MongoDb/Models/profiles.js')

console.log(SignIn)

那么代码有什么问题。网络上的控制台说 require 没有定义。你能帮我看看怎么做吗?

【问题讨论】:

  • "web 中的控制台说 require 没有定义" — 你的意思是 web 浏览器吗?您已将此问题标记为 node.js。在 Node.js 中运行为 Node.js 设计的代码,而不是在浏览器中运行。
  • 那我该怎么办?
  • 在 Node.js 中运行为 Node.js 设计的代码,而不是在浏览器中运行。

标签: javascript node.js mongodb mongoose


【解决方案1】:

您可能会收到此错误的原因有两个。既然你说

网络上的控制台说

我希望这是您代码中的第一个原因

您正在网络浏览器中运行代码

Node.js 是一个运行 JavaScript 的独立环境。它不是浏览器扩展。

要运行 Node.js 代码,请将其保存在具有 .js 文件扩展名的文件中,然后运行它:

node yourFile.js

如果您希望 Node.js 代码和浏览器代码交互,那么典型的方法是在 Node.js 中编写一个服务器来托管 Web 服务。 Express.js 是一种流行的方法。然后,您可以使用 Ajax 向该 Web 服务发出 HTTP 请求。

对于双向通信(与 Ajax 的请求/响应相反),请查看 Socket.io。

您正在使用 ECMAScript 模块

Node 最初使用 CommonJS 模块,这些模块使用 module.exportsrequire

最近的版本还支持使用 exportimport 的 ECMAScript 模块。

切换到使用 import 而不是 requirechange your configuration 以使用 CommonJS 模块。

【讨论】:

  • 好的,所以它在终端中完美运行,但我必须向 mongodb 发送创建新请求。我已经准备好模型,但我必须向主文件发送请求以在数据库中创建数据吗?在终端中它说我的 mongodb 连接不起作用。
猜你喜欢
  • 2016-11-02
  • 2018-07-31
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
相关资源
最近更新 更多