[英]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)
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 一起使用
import myObject from './File.js';
和出口,
export default myObject;
var myObject = require('./File.js');
和出口,
module.exports = myObject;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.