![](/img/trans.png)
[英]Jest (typescript): SyntaxError: Unexpected token 'export' (lowdb)
[英]jest + typescript + es6 modules (yet again, 2019) - SyntaxError: Unexpected token export
我仍然在嘗試使用jest,typescript和es6模塊時遇到問題。 我的測試是用Typescript編寫的,我試圖從使用es6模塊的js-file導入對象。 為此,我遵循了jest文檔,並在我的babel.config.js中有以下內容,它位於項目根目錄中:
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current'
}
}
]
]
};
我安裝了以下依賴項:
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.3.1",
"@types/jest": "^23.3.13",
"@types/node": "^10.12.18",
"babel-jest": "^24.1.0",
"jest": "^23.6.0",
"rollup": "^1.1.2",
"rollup-plugin-terser": "^4.0.4",
"rollup-plugin-typescript2": "^0.19.2",
"ts-jest": "^23.10.5",
"ts-node": "^8.0.1",
"typescript": "^3.2.4"
}
在jest.config.js中我有以下內容:
module.exports = {
verbose: true,
transform: {
"^.+\\.jsx?$": "babel-jest",
'^.+\\.ts?$': 'ts-jest'
},
testEnvironment: 'node',
testRegex: '/test/.*\\.(test|spec)?\\.(ts|tsx)$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
};
最后,我試圖在我的測試中導入這樣的:
import {Dag, Directions} from "../dist/dag";
在這里它說:SyntaxError:意外的令牌導出
D:\devel\tomtom_dag\dist\dag.js:72
}();export { e as Directions, t as Action, n as Dag };
有人可以說我做錯了什么或指向具有類似配置的項目? 是的,我已經谷歌搜索了幾個小時,並嘗試過這里的解決方案, 在 這里嘗試使用這個插件 - 具有相同的結果=(
更新:我已經創建了一個重現問題的項目: https : //github.com/AntonPilyak/jest_typescript_es6此外,我注意到我忘了提到我試圖使用jest @ 23版本因為ts- jest無法使用最新版本(發出警告+我得到一個空的測試套件)。 也許,我的問題來自於這個事實。 但是,我仍然無法進行正確的配置:如果我使用最新的jest,我會收到警告+ jest說測試套件是空的,測試正在通過它不應該。
它適用於ts-jest 24 +它似乎是我的IDE中的一個錯誤: https : //youtrack.jetbrains.com/issue/IDEA-207553
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.