首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用craco设置Jest别名

如何用craco设置Jest别名
EN

Stack Overflow用户
提问于 2021-01-18 00:52:46
回答 1查看 6.4K关注 0票数 7

我正在构建由创建-反应-应用程序提供的react应用程序。

我使用craco来简化配置,并为TypeScript和Webpack设置了alise。

但是,当我运行test命令时,会显示以下错误。

  • 错误消息

代码语言:javascript
复制
 spec/showMessage.test.tsx
  ● Test suite failed to run

    Cannot find module '@/components/atom/TextButton' from 'src/pages/index.tsx'

    Require stack:
      src/pages/index.tsx
      spec/showMessage.test.tsx

      3 | import styled from 'styled-components';
      4 | 
    > 5 | import { TextButton } from '@/components/atom/TextButton';
        | ^

这是我的craco.config.js

  • craco.config.js

代码语言:javascript
复制
const path = require("path");

module.exports = {
  jest: {
    configure: {
      roots: ['<rootDir>/src', '<rootDir>/spec'],
      testMatch: ['<rootDir>/spec/**/*.{spec,test}.{js,jsx,ts,tsx}'],
    },
  },
  webpack: {
    alias: {
      "@": path.resolve(__dirname, "./src/"),
      "@@": path.resolve(__dirname, "./")
    },
    extensions: ['.ts', '.tsx'],
  },
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-18 05:49:45

我找到了解决方案,我像下面这样更新了package.json,它解决了这个问题。

代码语言:javascript
复制
{
  "name": "xxxxx",
   :
    
  },
  "jest": {
    "moduleNameMapper": {
      "^@/(.+)": "<rootDir>/src/$1"
    }
  }
}
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65767551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档