在AVA测试中使用webpack别名



运行时,我需要将webpack中的别名包含到AVA中。

我使用webpack的resolve.alias来访问src文件夹下的所有文件:

webpack.config.js

resolve: {
alias: {
'@': path.resolve(__dirname, 'src/'),
},
},

然后是我自己模块的@特殊前缀,如下所示:

我的模块.js

import main from '@/view/main'

这是我的AVA配置:

package.json

"scripts": {
"test-unit": "ava test/unit"
},
"ava": {
"require": ["esm"]
},

有可能在这个mocha解决方案中向package.json添加一些类似的内容吗?https://stackoverflow.com/a/42989394/12361834

非常感谢您的时间和帮助!

如果我很了解你,你可以用链接模块别名npm包来完成。

  1. 将其添加到包中。json:

    "scripts": {
    "postinstall": "link-module-alias",
    "preinstall": "command -v link-module-alias && link-module-alias clean || true"
    "test": "ava"
    },
    "_moduleAliases": {
    "@": "src"
    }
    
  2. npm i && npm test

如果您需要更多详细信息,可以在此处下载一个工作示例。

最新更新