[英]Nodejs with JEST how to import using ES6 and relative path?
我想避免這種情況:
const SomeMethod = require('../shared/SomeMethod')
而是使用像這樣更現代的東西:
import { SomeMethod } from '/shared'
(在后台): /shared
目錄當然包含一個索引文件,返回 object 和 SomeMethod 屬性,該屬性也包含到一個文件中。
當我使用 JEST 時,我需要解決兩件事:1 是安裝的節點支持 ES6 導入,2 是 JEST 將熟悉相對路徑 - 請注意我使用了 **/**shared 所以這意味着- go 到 src 目錄並從那里開始。
但是如何實現呢?
您可以使用babel
來實現這一點。 根據jest的文檔,需要做以下
yarn add --dev babel-jest @babel/core @babel/preset-env
然后在項目的根目錄下創建babel.config.js
,內容如下
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
};
您可以查看文檔以獲取更多信息
這是解決相同問題的相同步驟的逐步過程
為了對 Jest 使用絕對路徑,在jest.config.js
中添加以下行
module.exports = {
moduleDirectories: ['node_modules', 'src'],
...
};
在這里, src
被認為是根。 您可能需要根據您的文件夾名稱更改此項。
有關更多信息,您可以關注這篇文章
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.