问题描述
当我将import * as './filename.js'
与Jest一起使用时,我在运行测试套件时遇到问题。
其他所有导入文件都没有问题,因此我认为babel配置没有问题。
我使用Nextjs 10(so react17),Jest,Typescript和babel-jest。
这是我的babel.config.js
{
"env": {
"development": {
"presets": ["next/babel"]
},"production": {
"presets": ["next/babel"]
},"test": {
"presets": [
[
"next/babel",{
"preset-env": {
"modules": "commonjs"
}
}
]
]
}
}
}
下面是给出错误的测试示例:
import React,{ FC,useEffect } from 'react'
import Head from 'next/head'
import Header from '../Header/Header'
import HeaderHome from '../HeaderHome/HeaderHome'
import Footer from '../Footer/Footer'
import styles from './Layout.module.css'
import * as settingsHelper from '../../helpers/_settingsHelper'
// .... normal react component here.
在_seetingsHelper.js
中,我这样调用我的cookieHelper:
import * as cookieHelper from './_cookies'
function initialise () {
// body of function here
}
错误:
.../helpers/_settingsHelper.js:2
import * as cookieHelper from './_cookies'
^^^^^^
SyntaxError: Cannot use import statement outside a module
6 | import styles from './Layout.module.css'
7 |
> 8 | import * as settingsHelper from '../../helpers/_settingsHelper'
| ^
9 |
10 | // prettier-ignore
11 | interface LayoutProps {
有人已经遇到了这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)