簡體   English   中英

jest + typescript + es6 modules(又一次,2019) - SyntaxError:意外的令牌導出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM