You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3项目中Node模块导入与API快速测试问题求助

解决方案

一、解决Node REPL的模块导入问题

Node默认REPL采用CommonJS模式,和你的ES模块(export/import)不兼容,按以下方式启动支持ES模块的REPL:

  • 在VSCode终端执行命令:
    node --experimental-repl-await --input-type=module
    
    启动后可直接使用import语法或顶层await动态导入模块:
    // 直接导入ES模块
    import { yourGraphQLClient } from '../src/client.js';
    // 动态导入(适配路径复杂场景)
    const { yourGraphQLClient } = await import('../src/client.js');
    

二、适配「选中代码Ctrl+Enter运行」的习惯

在VSCode中配置默认Node终端为ES模块模式,即可直接选中代码按Ctrl+Enter在REPL执行:

  1. 打开VSCode设置(快捷键Ctrl+,)
  2. 搜索「Terminal > Integrated > Profiles: Node」
  3. 将Node的启动命令修改为:node --experimental-repl-await --input-type=module
  4. 保存设置后重启终端,新打开的Node REPL就支持ES模块语法了

三、更高效的API测试方案

1. 编写独立测试脚本

在api_test文件夹下创建test.mjs(或在项目根目录package.json中添加"type": "module",直接使用.js后缀),编写可复用的测试逻辑:

import { gql } from '@apollo/client';
import client from '../src/graphql/client.js';

async function testUserQuery() {
  try {
    const res = await client.query({
      query: gql`
        query GetUser($id: ID!) {
          user(id: $id) {
            name
            email
          }
        }
      `,
      variables: { id: '1' }
    });
    console.log('查询结果:', res.data.user);
  } catch (err) {
    console.error('查询失败:', err.message);
  }
}

testUserQuery();
  • 运行方式:终端执行node api_test/test.mjs,或在VSCode中右键文件选择「Run Code」(需安装Run Code插件)

2. 编辑器内直接测试GraphQL

使用VSCode的「Apollo GraphQL」插件:

  • 配置apollo.config.js关联你的GraphQL端点和Schema
  • 在编辑器中新建.graphql文件,编写查询语句后点击插件提供的「运行」按钮即可发送请求,无需离开编辑器

3. 专用API测试工具

  • Postman/Insomnia:直接配置GraphQL端点,可视化编写查询、设置变量,快速验证API响应
  • Vitest/Jest:编写单元测试用例,批量验证API逻辑,适合长期维护的项目,测试代码可直接复用前端的API客户端逻辑

内容的提问来源于stack exchange,提问作者Jamie Marshall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 19:18:25