【问题标题】:export was not found -- but names still work未找到导出 - 但名称仍然有效
【发布时间】:2020-02-05 16:38:20
【问题描述】:

我确定这很明显,但我不明白为什么目前这不起作用...

我在 Vue 项目中有一个文件,它以几种不同的格式导出键码,一种用于常量 (allCodes),另一种用于 Vue (keyCodes):

export default {
  allCodes,
  keyCodes
};

当我尝试使用这样的解构导入其中一个时,我收到一个错误:

import { allCodes } from '@/helpers/keycodes';
21:17-25 "export 'allCodes' was not found in '@/helpers/keycodes'

 warning  in ./src/mixins/GlobalKeyPressHandler.js

但是,导入然后按名称引用键是可行的:

import object from '@/helpers/keycodes';
console.log('allCodes', object.allCodes);

什么给了?

【问题讨论】:

    标签: javascript vue.js ecmascript-6


    【解决方案1】:

    如果你想要命名导出,它应该是

    export {
      allCodes,
      keyCodes
    };
    

    目前您正在默认导出一个对象。

    顺便说一句,“我尝试使用像这样的解构来导入其中一个”,如果您的意思是您试图在导入中使用解构赋值,它将不起作用。命名导入语句不是对象解构,尽管在最简单的情况下看起来很相似。

    如果您想要默认导出,则应在导入语句下方进行赋值

    export default {
      allCodes,
      keyCodes
    };
    
    // importing side
    import keycodes from '@/helpers/keycodes';
    const { allCodes } = keycodes;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-15
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 1970-01-01
      相关资源
      最近更新 更多