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(使用前将#替换为@)