当前位置: 首页 > 知识库问答 >
问题:

从“chai”导入{expect};SyntaxError:无法在模块外部使用导入语句

罗鸿福
2023-03-14

测试其中一个功能时,我遇到了这种错误。到底是什么问题?

import { expect } from 'chai';
import { PathFinding } from './path-finding.js';

describe('aStar', () => {
  const o = 0; // intermediate points when going forwards (the trace)
  const u = 0; // turning points
  const s = 0;
  const f = 0;

  it('should find a valid path', () => {
    const graph = [
      [0, u, o, o, f],
      [u, 1, 1, 1, 1],
      [0, u, o, u, 0],
      [1, 1, 1, 1, u],
      [s, o, o, u, 0],
    ];
    const start = { x: 0, y: 4 };
    const finish = { x: 4, y: 0 };
    const path = PathFinding.aStar({ graph, start, finish });
    expect(path).to.eql([
      { x: 3, y: 4 },
      { x: 4, y: 3 },
      { x: 3, y: 2 },
      { x: 1, y: 2 },
      { x: 0, y: 1 },
      { x: 1, y: 0 },
      finish,
    ]);
  });

...

/用户/user/websprojects/hsu/src/path finding/path finding。spec.js:1从'chai'导入{expect}^^^^^^

语法错误:无法在WrapSafe(节点:内部/模块/cjs/加载器: 1018:16)的模块外使用导入语句。_compile(节点:内部/模块/cjs/加载器: 1066:27)在对象。模块。_extensions... js(节点:内部/模块/cjs/加载器: 1131:10)在Module.load(节点:内部/模块/cjs/加载器: 967:32)在函数。模块。_load(节点:内部/模块/cjs/加载器: 807:14)在Module.require(节点:内部/模块/cjs/加载器: 991:19)在要求(节点:内部/模块/cjs/帮助器: 92:18)在Object.exports.require或导入(/用户/antongorshkov/WebstormProjects/hsu/node_modules/mocha/lib/esm-utils.js:20: 12)在Object.exports.loadFilesAsync(/用户/antongorshkov/WebstormProjects/hsu/node_modules/mocha/lib/esm-utils.js:33: 34)在Mocha.loadFilesAsync(/用户/antongorshkov/WebstormProjects/hsu/node_modules/mocha/lib/mocha.js:431: 19)在SingleRun(/用户/antongorshkov/WebstormProjects/hsu/node_modules/mocha/lib/cli/run-helpers.js:125: 15)在exports.runMocha(/用户/antongorshkov/WebstormProjects/hsu/node_modules/mocha/lib/cli/run-helpers.js:190: 10)在Object.exports.handler(/用户/antongorshkov/WebstormProjects/hsu/node_modules/mocha/lib/CLI/run.js:362: 11)at /Users/antongorshkov/WebstormProjects/hsu/node_modules/yargs/lib/command.js:241: 49

共有1个答案

祖波光
2023-03-14

节点。js遵循CommonJS模块系统<代码>要求

const { expect } = require('chai');
const { PathFinding } = require('./path-finding.js');
 类似资料:
  • 我有一个ApolloServer项目给我带来了麻烦,所以我想我可能会更新它,并在使用最新的巴别塔时遇到问题。我的“index.js”是: 当我运行它时,我得到了错误 首先,我试图做一些事情来说服TPTB*这是一个模块(没有成功)。所以我把“导入”改成了“要求”,这就奏效了。 但是现在我在其他文件中有大约24个“导入”给我同样的错误。 *我确信我的问题的根源是我甚至不确定是什么在抱怨这个问题。我有点

  • 当依赖项未声明为模块时,如何从依赖项中解析“不能在模块外使用导入语句”? 我想使用Svelte/kit中的验证器来验证电子邮件。但是,在导入ESM版本时,出现“无法在模块外使用导入语句”错误。我用pnpm代替npm或纱线。 验证器似乎正在尝试使用import语句,但它是一个包。json没有指定。我猜这是错误的根本原因。 包裹。json具有“类型”:“模块” SyntaxError:无法在模块外使用

  • 试图将用户模型中的“uuid”作为

  • 我有一本书。节点js(07.10.19版本的node.js的最新版本)应用程序中的ts文件,带有导入节点模块而无默认导出。我使用这种结构:

  • 提前感谢您的帮助。 这个问题似乎已经在其他地方被提出和回答,但我相信我已经尝试了所有这些解决方案,但没有取得真正的进展。 我试图为webdriverIO创建一个自定义记者。然而,当所有导入都运行时,我得到以下错误: 无法在模块外使用导入语句 如果我试图执行文件顶部的导入语句,则会在导入WebdriverTestrasER行上出现上述错误。我可以通过使用要求来解决这个问题,但是在从@wdio/记者导

  • 今天我决定尝试学习React,但每当我尝试导入以下两个模块时: 我得到一个错误: 未捕获的SyntaxError:无法在模块外部使用导入语句 以下是我尝试创建React程序所采取的步骤: 安装NodeJS 为什么我会出现这个错误,我该如何修复它?