首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入vs需要使用斜杠

导入vs需要使用斜杠
EN

Stack Overflow用户
提问于 2020-05-15 13:45:31
回答 4查看 590关注 0票数 1

注意:我在节点14.1上

所以我现在试着这样做:

代码语言:javascript
复制
import "module-alias/register";

这给了我一个错误

代码语言:javascript
复制
Error [ERR_MODULE_NOT_FOUND]: Cannot find module

错误路径为:

代码语言:javascript
复制
node_modules/module-alias/register

但是如果我使用commonjs

代码语言:javascript
复制
require("module-alias/register");

它起作用了。

import和require之间导致斜杠变成错误的区别是什么?

EN

回答 4

Stack Overflow用户

发布于 2020-05-15 14:24:15

1)每当您使用导入时,

代码语言:javascript
复制
import "module-alias/register";

此时编译器会检查你的模块导入寄存器的相对路径,在你的例子中,如果你想在NodeJs或javascript中使用语句,你必须指定他们模块的可用方法(它是ES6语法),例如。如果你的模块寄存器中有profile方法,那么你可以写下下面这样的代码,

代码语言:javascript
复制
import { profile } form "module-alias/register";

2)无论何时使用require,

代码语言:javascript
复制
require("module-alias/register");

它与导入特性相同,但有一点不同,您不能指定模块寄存器的任何特定方法(它是通用JS语法)。在上面的示例中,您不能指定模块寄存器的配置文件方法。

3)

不同的是,是指定的,任何模块的特定方法,在

  1. 中,我们不能这样做。通用导入是异步的,require is synchronous.
  2. Import是ES6 JS的语法,Require是通用JS

的语法

票数 1
EN

Stack Overflow用户

发布于 2020-05-15 13:56:55

import和require之间的区别在于import是ES6语法,这是正确的语法,您需要从Ex : express-validator中导入一些内容。

代码语言:javascript
复制
import { check, validationResult } from 'express-validator';

另外,导入可以是异步的。

票数 0
EN

Stack Overflow用户

发布于 2020-05-15 14:48:06

register是一个js文件,并且导入需要显式扩展名,因此import "module-alias/register";将无法工作

import "module-alias/register.js";会的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61812530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档