node.js - 无法在 .spec.ts 文件 NodeJs 中的模块外使用 import 语句
问题描述
对于单元测试,我使用 mocha + chai。我用"test": "mocha --require ts-node/register 'src/**/*spec.ts'"
.
当我在 *spec.ts 文件中使用 import 时(例如import { expect } from 'chai';
)
我收到错误SyntaxError: Cannot use import statement outside a module
我的 tsconfig.json:
{
"compilerOptions": {
"baseUrl": "src",
"target": "esnext",
"module": "esnext",
"moduleResolution": "node",
"lib": ["dom", "es2018"],
"allowSyntheticDefaultImports": true,
"noUnusedLocals": true,
"removeComments": true,
"resolveJsonModule": true,
"strict": true,
"typeRoots": ["node_modules/@types"]
},
"exclude": ["node_modules"],
"include": ["src/**/*.ts"]
}
解决方案
你试过const expect = require('chai')
吗?
这是一种包装CommonJS中使用的模块的方法,相当于import { expect } from 'chai';
.
推荐阅读
- microsoft-graph-api - Microsoft Graph API 获取 Outlook 日历事件不起作用
- ruby - Ruby 重试语句
- pyspark - pyspark:按ID计算连续差
- php - Laravel 观察者未触发
- javascript - Firebase 函数:类型错误:无法读取未定义的属性“user_id”
- objective-c - 使用 NSError 参数在 swfit 中实现 Objective-C 协议
- c - (ubuntu) ASLR - 清除混乱,奇怪的结果
- java - `assert` 是关键字,用 Gradle 编译
- bash - 计算不同列的时间差 - bash
- php - 从查询中获取所有月份,包括零计数