"export 'default' (imported as '...') was not found in ''..."错误处理

本文分享了在Vue项目中使用JS模块导入导出时遇到的常见错误,详细解析了一个因import语法不当导致的编译警告及运行时错误,并提供了正确的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发中遇到的一个简单问题 却花了我很长时间

//在一个js文件中导出fetch请求方法
import fetch from 'utils/fetch';
 
export function getCompanyList() {
  return fetch({
    url: '/wx/company/list',
    method: 'get'
  })
}

 

//在vue的script代码块中导出
import getCompanyList from 'api/recruitManage/index';
 
//调用请求
  methods: {
    getList() {
      getCompanyList().then(res => {
        if (res.errno == 0) {
          this.companys = res.data
        }
      });
    }
  }


编译时警告:

 warning  in ./src/views/oa/recruitManage/index.vue

23:6-20 "export 'default' (imported as 'getCompanyList') was not found in 'api/recruitManage/index'

一开始没看到警告 请求时报错 

[Vue warn]: Error in v-on handler: "TypeError: __webpack_require__.i(...) is not a function"
 
TypeError: __webpack_require__.i(...) is not a function


试了很久没有解决 最后发现时import语法问题

//在import后面加上大括号解决
import {getCompanyList} from 'api/recruitManage/index';


import,export语法规范详解:http://es6.ruanyifeng.com/#docs/module#export

<think>好的,我现在要解决用户遇到的关于 'qrcode.react' 模块中未找到默认导出的问题。首先,我需要理解这个错误的具体原因。用户提到错误信息是“error export default not found in qrcode.react”,这说明他们在尝试导入一个默认导出,但该模块可能没有提供默认导出。 首先,我应该回忆一下JavaScript模块的导入导出机制。ES6模块允许使用`export default`来导出默认的模块,但有些库可能只提供命名导出,而没有默认导出。因此,如果用户尝试用`import QRCode from 'qrcode.react';`这样的语句导入,而该库实际上没有默认导出,就会导致这个错误。 接下来,我需要确认'qrcode.react'的实际导出方式。查阅该库的文档或源码会有所帮助。假设该库的导出方式确实是命名导出,比如使用`export const QRCodeSVG`和`export const QRCodeCanvas`,那么用户需要使用解构赋值来导入具体的组件,例如`import { QRCodeSVG } from 'qrcode.react';`。 此外,用户可能在使用旧版本的库,或者安装方式有问题,导致模块无法正确导入。这时候需要建议用户检查安装的版本,并确保正确安装了依赖。可以建议他们运行`npm install qrcode.react --save`或`yarn add qrcode.react`来更新或重新安装包。 另一个可能性是项目的构建工具配置有问题,比如Babel或Webpack的配置不正确,导致无法正确解析模块。但根据用户提供的引用信息,他们遇到了Webpack相关的模块找不到错误,这可能与依赖缺失或版本不兼容有关。例如,引用中提到的“Cannot find module 'object.getownpropertydescriptors'”可能提示某些polyfill缺失,需要检查Node.js版本是否过低,或者安装相应的core-js polyfill。 综合这些可能性,我应该分步骤建议用户: 1. 检查导入语句是否正确,改用命名导入。 2. 确认安装的qrcode.react版本,并重新安装。 3. 检查构建工具配置,确保依赖正确处理。 4. 如果问题依旧,提供具体的代码示例以便进一步排查。 同时,需要确保回答清晰,步骤明确,帮助用户逐步解决问题,并引用相关文档或社区建议作为参考。</think>关于 `qrcode.react` 中未找到默认导出的问题,以下是逐步解决方案: --- ### **问题分析** 错误 `export default not found in 'qrcode.react'` 表明你尝试使用默认导入(如 `import QRCode from 'qrcode.react';`),但该库未提供默认导出。现代 React 库通常采用命名导出(Named Exports),需调整导入语法。 --- ### **解决方案** #### 1. 检查并修改导入方式 `qrcode.react` 提供两个命名导出组件 `QRCodeSVG` 和 `QRCodeCanvas`,需使用解构语法导入: ```javascript import { QRCodeSVG } from 'qrcode.react'; // 或 QRCodeCanvas ``` #### 2. 验证组件使用方式 确保在代码中正确调用命名导出的组件: ```javascript function App() { return <QRCodeSVG value="https://example.com" />; } ``` #### 3. 检查依赖安装 若未安装或版本过低,重新安装: ```bash npm install qrcode.react --save # 或 yarn add qrcode.react ``` #### 4. 排查构建工具配置 若使用 Webpack 等工具,确保配置支持 ES6 模块: - 更新 `webpack.config.js` 中 `babel-loader` 的 `@babel/preset-env` 和 `@babel/preset-react`。 - 若报错涉及 `object.getownpropertydescriptors`,可能是缺少 polyfill,尝试安装: ```bash npm install core-js --save ``` 并在入口文件添加: ```javascript import 'core-js/features/object/get-own-property-descriptors'; ``` --- ### **示例修正对比** - **错误写法**: ```javascript import QRCode from 'qrcode.react'; // 默认导入无效 ``` - **正确写法**: ```javascript import { QRCodeSVG } from 'qrcode.react'; ``` --- ### **引用参考** 类似模块解析问题可能与构建工具或依赖版本相关,建议参考官方文档调整配置[^1]。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值