[英]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.