在 AVA 测试中使用 webpack 别名
Using webpack aliases in AVA tests
我需要在运行时将来自 webpack 的别名包含到 AVA 中。
我使用 webpack 的 resolve.alias
访问了 src
文件夹下的所有文件:
webpack.config.js
resolve: {
alias: {
'@': path.resolve(__dirname, 'src/'),
},
},
然后是我自己的模块的 @
特殊前缀,如下所示:
我的-module.js
import main from '@/view/main'
这是我的 AVA 配置:
package.json
"scripts": {
"test-unit": "ava test/unit"
},
"ava": {
"require": ["esm"]
},
是否可以像在这个 mocha 解决方案中那样向 package.json 添加一些东西?
非常感谢您的宝贵时间和帮助!
如果我理解得很好,你可以使用 link-module-alias npm 包来完成。
将此添加到您的 package.json:
"scripts": {
"postinstall": "link-module-alias",
"preinstall": "command -v link-module-alias && link-module-alias clean || true"
"test": "ava"
},
"_moduleAliases": {
"@": "src"
}
npm i && npm test
如果您需要更多详细信息,可以下载工作示例 here。
我需要在运行时将来自 webpack 的别名包含到 AVA 中。
我使用 webpack 的 resolve.alias
访问了 src
文件夹下的所有文件:
webpack.config.js
resolve: {
alias: {
'@': path.resolve(__dirname, 'src/'),
},
},
然后是我自己的模块的 @
特殊前缀,如下所示:
我的-module.js
import main from '@/view/main'
这是我的 AVA 配置:
package.json
"scripts": {
"test-unit": "ava test/unit"
},
"ava": {
"require": ["esm"]
},
是否可以像在这个 mocha 解决方案中那样向 package.json 添加一些东西?
非常感谢您的宝贵时间和帮助!
如果我理解得很好,你可以使用 link-module-alias npm 包来完成。
将此添加到您的 package.json:
"scripts": { "postinstall": "link-module-alias", "preinstall": "command -v link-module-alias && link-module-alias clean || true" "test": "ava" }, "_moduleAliases": { "@": "src" }
npm i && npm test
如果您需要更多详细信息,可以下载工作示例 here。