使用 ES6 import 语句时,有没有办法防止项目未定义?

2024-01-09

import {
  foobar1,
  foobar2,
  foobor3,  //typo!  this key doesn't exist in the module.

} from './module_file.js'


console.log(foobar1, foobar2, foobar3)  //EXPLODES

在使用新的 ES6 样式导入语句时,我最常犯的愚蠢错误之一是在对象解构的键之一中出现拼写错误。我想不出有哪个实例是我希望解构赋值中的值是undefined。如果我尝试导入的项目之一未定义,是否有任何方法可以强制导入语句快速失败?

ie:

 import {
  doesntExistInModule  //EXPLODE NOW!  ????????????
} from './module_file.js'

  • 没有任何钩子允许模块在其依赖项加载之前运行某些代码。这意味着模块无法控制如何
    他们的依赖项已加载。
  • 导入错误没有错误恢复。一个应用程序中可能有数百个模块,如果有任何内容无法加载或链接, 什么都没有运行。您不能在 try/catch 块中导入。 (这里的好处 是因为系统是如此静态,webpack 可以检测到那些 编译时会出现错误。)

更多细节,读出来 https://hacks.mozilla.org/2015/08/es6-in-depth-modules/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ES6 import 语句时,有没有办法防止项目未定义? 的相关文章