使用Webpack Encore时export default未找到的问题求助
问题分析与解决
你的问题核心是导入路径的命名冲突:
- 你的入口文件是
assets/js/request.js - 你在这个文件里写了
import Request from './request',Webpack会优先匹配当前目录下的request.js(也就是文件本身),而非你期望的request/index.js,这造成了循环导入,自然找不到正确的默认导出。
解决方法
有两种简单的修正方式:
方式1:明确指定导入目标文件
把导入语句改成:
import Request from './request/index.js';
方式2:避免文件与目录同名
修改入口文件名或模块目录名,消除命名冲突:
比如将入口文件request.js改名为request-entry.js,同时更新Webpack Encore配置:
Encore .addEntry('js/request', './assets/js/request-entry.js') // 其他配置保持不变
修改后,原来的import Request from './request'就能正常匹配到request/index.js。
验证
完成修改后重新编译,警告会消失,console.log(Request)也能输出你定义的对象。
内容的提问来源于stack exchange,提问作者AlexGalax
相关产品推荐
相关产品推荐

