Nuxt自定义插件导出未定义

时间:2019-05-10 18:09:55

标签: typescript vue.js nuxt.js

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

api/users.ts中:

export default $axios => ({

    create(payload: any) {}

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

}

然后在我的plugins文件夹中创建一个模块,导出所有名为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作为dev依赖项安装了ts-node作为常规依赖项,并更改了配置文件的文件扩展名以使用.ts

我还创建了一个tsconfig.json文件,该文件具有:

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

2 个答案:

答案 0 :(得分:4)

默认拼写错误。当前显示为export defaut

答案 1 :(得分:-1)

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

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

考虑使用诸如eslinttslint之类的短绒,以及一些类似vscode的IDE。