在检查导入/导出功能时,令人惊讶的是,如果在导入中使用命名属性并且未在导出文件中定义它,那么它不会引发任何错误?
下面是示例
_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);
这里GAMMA
没有在_export.js中定义,但不要在_import.js中抛出任何错误?
我遇到了这个问题,因为我不小心在语句中导入了一个错误的文件(2 个目录中的相同文件名import
但它不会抛出任何错误,即在文件中找不到给定的导出命名属性。
这种行为是否正确?
或
linter 中是否有任何 linting 规则(例如 eslint(可以识别此类错误并向开发人员抛出错误或警告?
据我所知,esLint 不提供开箱即用的检查。
你可能想使用 eslint-plugin-import。
我使用它,当找不到模块时,它会抛出import/named
错误。
例如:
在"../../模块'
例子