我有一个从另一个程序包中导入的角度应用程序,如下所示:
import { Logger } from '@myorg/cif-core';
该软件包仅提供了一个捆绑的js文件,该文件将全局变量设置为myorg-cif-core
。因此,我们在webpack.config.js
中具有以下外部配置:
module.exports = {
externals: {
'@myorg/cif-core': 'myorg_cif_core'
};
我现在想从Karma切换到Jest并面对此问题,因为它无法解决从@myorg/cif-core
的导入。
我尝试将捆绑软件导入test-setup.ts
文件中,以便在测试中使用该捆绑软件
import 'node_modules/@myorg/cif-core/bundles/cif-core.min.js';
并在jest.config.js
moduleNameMapper: {
'@myorg/cif-core': 'myorg_cif_core'
},
但是,似乎总是有些错误,因为我总是遇到以下错误:
Configuration error:
Could not locate module @myorg/cif-core mapped as:
myorg_cif_core.
Please check your configuration for these entries:
{
"moduleNameMapper": {
"/^@myorg\/cif-core/": "myorg_cif_core"
}
}
我也已经尝试了其他一些变体,例如在jest.config.js
中定义全局变量,但是没有运气。 :(
有什么办法可以使这项工作吗?通过我在Google上搜索并查看此处的代码https://github.com/facebook/jest/blob/aa64672e728738926571746a85c57d1658bdaf55/packages/jest-resolve/src/index.ts所发现的结果,似乎根本不支持此功能-至少moduleNameMapper
不支持。
我做错什么了吗?还是有其他解决方法?
谢谢:)