A diferença entre" require(x) " e import x
npm
.
por exemplo, o seguinte código lança e erro, dizendo-me que "express não tem exportação padrão":
import express from "express";
No entanto, este código funciona:
const express = require("express");
Então minha pergunta é, Qual é a diferença em como os métodos de importação e variável/require função?Eu gostaria de corrigir o que está a atormentar as minhas importações no projecto, pois parece provável que cause problemas adicionais ao longo da estrada.
3 answers
require
e import
é Usando nó.js require vs. ES6 importação / exportação
Com uma imagem simples:
A principal diferença entre require
e import
, é que require
vai verificar automaticamente node_modules
para encontrar módulos, mas import
, que vem de ES6, não. Mas agora a maioria das pessoas iria usar babel para compilar import
e export
, que vai fazer import
agir da mesma forma como require
, mas a futura versão do Nó.js pode suportar import
em si mesmo (na verdade, a versão experimental já fez), e a julgar pelo nó.js ' notes, import
won't support node_modules
, it base on ES6, and must specify the path of the modulo.
Então eu sugeriria que você não use import
com babel, mas este recurso ainda não está confirmado, Ele pode suportar node_modules
no futuro, quem saberia?
Deixe-me dar um exemplo para incluir o módulo expresso com require & import
-require
var express = require('express');
-importação
import * as express from 'express';
Então depois de usar qualquer uma das afirmações acima teremos uma variável chamada' express ' conosco. Agora podemos definir a variável ' app ' como,
var app = express();
Então usamos ' require 'com' CommonJS 'e' import 'com'ES6'.
Para mais informações sobre 'require' e 'import', Leia através das ligações abaixo.
Require - requerendo módulos no nó.js: Tudo o que precisas de saber