簡體   English   中英

帶有 JEST 的 Nodejs 如何使用 ES6 和相對路徑導入?

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

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