node.js - "require(x)"和 "import x"的区别

标签 node.js typescript import require

我刚刚开始研究一个将与 MongoDB 交互的小型 Node 项目。但是,我似乎无法正确导入相关 Node 模块,即使我已通过 npm 正确安装它们。

例如下面的代码抛出一个错误,告诉我“express has no default export”:

import express from "express";

但是,此代码有效:

const express = require("express");

所以我的问题是,import 和 variable/require 方法的功能有什么区别?我想解决困扰我的项目导入的任何问题,因为它似乎很可能导致其他问题。

最佳答案

这个简单的图表将帮助您理解 requireimport 之间的区别。

enter image description here

除此之外,

不能使用 require 选择性地仅加载您需要的部分,但使用 import,您可以选择性地仅加载您需要的部分,这样可以节省内存。

require 的加载是 同步(逐步),而 import 可以是异步的(无需等待之前的导入),所以它性能比 require好一点。

关于node.js - "require(x)"和 "import x"的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46677752/

相关文章:

javascript - 数组中的自定义全局过滤器

node.js - Typescript - 无法扩充模块

css - LESS 错误地导入带有 URL 的文件

java - Gwt + Maven + Idea,默认项目生成

javascript - 在 JSON 旁边解析 css

javascript - ssh2 : can't run the server on node js

javascript - 如何使用 Docker 和 Angular 进行实时更改重新加载?

Python - Web 服务器可以避免导入每个请求吗?

node.js - 如何在路由文件中使用 Controller 功能 - npm

node.js - 尝试通过 mongoose 使用 Node js 将对象保存在文档上时出现问题