【问题标题】:Nuxt custom plugin exports is not definedNuxt 自定义插件导出未定义
【发布时间】:2019-09-28 16:06:40
【问题描述】:

我的新 Nuxt 应用将使用大量 API,因此我创建了一个名为 api 的新顶级文件夹,在此文件夹内将定义所有 api 路由,但目前只有 users.ts

api/users.ts:

export default $axios => ({

    create(payload: any) {}

    showAll(): any {
        return $axios.get('...');
    }

}

然后在我的插件文件夹中,我创建了一个模块导出所有名为 plugins/api.ts 的 API:

import users from '../api/users';

export defaut ({ app }, inject) => {

    app.api = { usersAPI: users }

}

最后在我的nuxt.config.ts:

...
plugins: [
    '~/plugins/api'
],
...

但是在浏览器中,当我加载页面时,我得到了ReferenceError: exports is not defined

我怀疑这可能与 Typescript 有关,但我已遵循文档中的 Typescript 支持指南,并将 @nuxt/typescript 作为开发依赖项安装,ts-node 作为正常依赖项安装,并更改了文件扩展名配置文件以使用.ts

我还创建了一个tsconfig.json 文件,其中包含:

{
    "compilerOptions": {
        "allowSyntheticDefaultImports": true
    }
}

【问题讨论】:

    标签: typescript vue.js nuxt.js


    【解决方案1】:

    你写了export defaut ({ app }, inject) => {

    但正如 CQ 所说,它必须是 export default

    考虑使用诸如 eslinttslint 之类的 linter 以及诸如 vscode 之类的 IDE。

    【讨论】:

      【解决方案2】:

      default 拼写错误。目前显示为export defaut

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-28
        • 1970-01-01
        • 1970-01-01
        • 2020-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-14
        相关资源
        最近更新 更多