繁体   English   中英

当导出文件中未定义导出属性时,import语句不会引发任何错误

[英]import statement doesn't throw any error when a exported property is not defined in the export file

在检查导入/导出功能时,令人惊讶地看到,如果在导入中使用了命名属性,并且在导出的文件中未定义该属性,则不会引发任何错误?

下面是例子

_export.js

export const ALPHA = 'alpha';
export const BETA = 'beta';

_import.js

import {ALPHA, BETA, GAMMA} from './export_'

console.log("alpha is ", ALPHA);
console.log("beta is", BETA);
console.log("gamma is", GAMMA);

在此, _export.js中未定义GAMMA ,但在_import.js中对此没有引发任何错误吗?

我遇到了这个问题,因为我不小心在import语句中导入了错误的文件(两个目录中的文件名相同),但是它不会引发任何错误,即在文件中找不到给定的导出命名属性。

这是正确的行为吗?

要么

棉短绒(例如eslint)中是否有任何绒毛规则可以识别这种错误并向开发人员抛出错误或警告?

据我所知,esLint不提供开箱即用的检查功能。
您可能要使用eslint-plugin-import
我用它,当找不到模块时会引发import/named错误。
例如:

在'../../modules'中找不到MyModule

例子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM