V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShihanW
V2EX  ›  Vue.js

vue 项目 ES6 语法导入问题

  •  
  •   ShihanW · 98 天前 · 1147 次点击
    这是一个创建于 98 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请求大家一个问题,我的一个 vue 项目,api 文件夹包含多个接口文件,统一用 index.js 以 export * from './子文件.js'的语法导出,但是在 vue 组件里用 import {某接口函数} from ‘@/api/index.js'导入却报错了,错误如下图 image-20240120094749852

    在子文件里,每个接口函数都 export 了,这个问题已经谷歌,了解到是 babel 有问题,前端新手对它不太了解,没找到解决方案,所以在这里问问 V 友。

    辅助信息: OS: mac arm vue: 3.2.13, node: 18.14.2 开发依赖包版本:

        "@babel/eslint-parser": "^7.12.16",
        "@vue/cli-plugin-babel": "~5.0.0",
        "@vue/cli-plugin-eslint": "~5.0.0",
        "@vue/cli-plugin-unit-jest": "~5.0.0",
        "@vue/cli-service": "~5.0.0",
        "@vue/test-utils": "^2.0.0-0",
        "@vue/vue3-jest": "^27.0.0-alpha.1",
        "axios": "^0.27.2",
        "babel-jest": "^27.0.6",
        "element-plus": "^2.2.15",
        "eslint": "^7.32.0",
        "eslint-plugin-vue": "^8.0.3",
        "jest": "^27.0.5",
        "svg-sprite-loader": "^6.0.11"
    

    index.js 文件

    export * from './blog.js'
    ……
    export * from './draft.js'
    

    blog.js

    export const blogGetAll = data =>
      request({
        url: '/api/blog/all',
        method: 'post',
        data,
      });
    
    4 条回复    2024-01-20 17:18:56 +08:00
    yanyiming
        1
    yanyiming  
       98 天前
    开发环境还是生产环境? 感觉是 webpack 打包的问题. 把报错信息前面的箭头点开看看.
    lynan
        2
    lynan  
       98 天前
    考虑 import {某接口函数} 先于 声明 index.js 的情况导致
    比如你的组件导入/渲染优先于你的接口 index.js 文件导入

    import 组件 from 'path';
    import '/index.js';
    ShihanW
        3
    ShihanW  
    OP
       98 天前
    @yanyiming 点了错误信息展示更多
    ShihanW
        4
    ShihanW  
    OP
       98 天前
    @lynan
    @yanyiming
    这个组件是在路由里导入的,和这个有关系吗,之前这么写是可以运行的,后面我想做单元测试,就用 vue add test-utils 语句新增测试插件,然后就不能正常运行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2539 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:53 · PVG 23:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.