摩卡与 babel 转译第三方依赖项



我有一个使用 Redux 和 Redux Saga 设置的 react 本机应用程序。我有使用摩卡的单元测试,所有测试在我添加native-base之前都可以正常工作。

当我现在测试时,它会抛出此错误

[poject-path]/node_modules/native-base-shoutem-theme/index.js:1
(function (exports, require, module, __filename, __dirname) { import connectStyle from './src/connectStyle';
                                                              ^^^^^^

我有一个 babel 的设置,无论如何我可以转译该依赖项吗? 还是在不更改代码的情况下做某事?

我目前在文件中执行的导致问题的操作如下

const Toast = null;
if(process.env.NODE_ENV !== 'test')
    Toast = require('native-base').Toast;

测试适用于上述内容,但我只是在测试以确保它通过并且确实通过了,但是这不是一个好方法。

在他们的GitHub存储库中也有类似的问题

谁能帮忙?

我有一个带有 babel 的设置,无论如何我可以转译该依赖项

按照惯例,所有npm模块都应以转板形式在存储库中提供,通常通过执行 prepublush 脚本和索引链接到dist目录。但在一般情况下,babel可以通过在配置中自定义正则表达式来轻松转板ignore任何依赖项

例如,当将webpackbabel-loader一起使用时,具有强制转译MODULE_ONEMODULE_TWO的配置将具有以下视图:

{
    test: /(.js)$/,
    exclude: /node_modules(?!(?:/|\)((MODULE_ONE)|(MODULE_TWO)))/,
    loader: 'babel',
    query: { presets: ['react', 'es2015', 'stage-0'] }
}

相关内容

  • 没有找到相关文章