簡體   English   中英

導入 vs 需要帶斜線

[英]import vs require with slashes

注意:我在節點 14.1 上

所以我目前正在嘗試這條線:

import "module-alias/register";

這給了我錯誤

Error [ERR_MODULE_NOT_FOUND]: Cannot find module

錯誤路徑是:

node_modules/module-alias/register


但是如果我使用 commonjs

require("module-alias/register");

有用。

import 和 require 導致斜線變成錯誤的區別是什么?

1)每當你使用導入時,

import "module-alias/register";

那時編譯器將檢查你的模塊寄存器的相對路徑,在你的情況下,如果你想在 NodeJs 或 javascript 中使用 import 語句,你必須指定他們模塊的可用方法(它是 ES6 語法)例如。 你的模塊寄存器中有配置文件方法然后你可以寫這樣的東西,

import { profile } form "module-alias/register";

2) 每當你使用 require 時,

require("module-alias/register");

它與導入功能相同,但有一個區別,您不能指定模塊注冊的任何特定方法,( IT 是 Common JS Syntax )如上例,您不能指定模塊注冊的配置文件方法。

3)

  1. 不同之處在於 import 是指定任何模塊的特定方法,以便在 require 中進一步使用我們不能那樣做。
    1. import 是異步的,require 是同步的。
    2. import是ES6 JS的Syntax,Require是Common JS的Syntax

import 和 require 之間的區別在於 import 是 ES6 語法,這是正確的語法,你需要從 Ex: express-validator 導入一些東西。

import { check, validationResult } from 'express-validator';

導入也可以是異步的。

register是一個 js 文件,並且 import 需要顯式擴展,因此import "module-alias/register"; 不管用

import "module-alias/register.js"; 將要。

import 與 ES6 一起使用,require 與 commonjs 一起使用

  1. 對於使用 import 我們應該使用,像這樣

import myObject from './File.js';

和出口,

export default myObject;

  1. 使用要求

var myObject = require('./File.js');

和出口,

module.exports = myObject;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM