[英]Why do some webpack / Babel ES6 imports that don't specify an extension resolve as "undefined?"
我尝试使用语法import ComponentName from './folder/ComponentName';
一些 ES6 文件( .js
、 . jsx
、 .ts
、 .tsx
) import ComponentName from './folder/ComponentName';
(无扩展名)解析为undefined
,尽管在我添加文件扩展名时没有触发 Webpack 或 Typescript 错误并且正确解析。 其他文件解析得很好,有或没有扩展名。 为什么是这样?
虽然它通常发生在 React 组件中,但无论导入文件的内容如何,也不管它是否具有默认导出,它都可能发生。
这是因为这些文件在同一目录中有同名但不同扩展名的邻居(例如“.less”)。 例如,我会将ComponentName.tsx
和ComponentName.less
放在同一个文件夹中。
两个可能的修复:
resolves
部分,将 JS/ES6/TypeScript 扩展放在.less
/ .css
扩展前面,例如从['.less', '.tsx', ...]
到['.tsx', '.less', ...]
。 这样,JavaScript 文件首先解析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.