[英]How to set an Alias in AVA tests
我正在嘗試在我的項目中全局設置別名,而不使用 Webpack、Babel 等。現在我對AVA進行了簡單的測試。
我正在使用模塊別名npm package 讓我設置 package.Z466DEEC5 我的別名76ECDF5FCA6D38 我的別名76ECDF5FCA6D38 但是,當我嘗試在具有基本別名的文檔之后創建一個簡單的示例時,它找不到該文件:
Error: Cannot find module '@root/my-module.js'
您可以使用以下 3 個文件重現此示例:
package.json
{
"name": "ava-alias",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "ava"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"ava": "^2.4.0",
"esm": "^3.2.25",
"module-alias": "^2.2.2"
},
"ava": {
"require": [
"esm",
"module-alias"
]
},
"_moduleAliases": {
"@root": "."
}
}
測試.js
require('module-alias/register')
import test from 'ava'
//import cube from './my-module.js' // working
import cube from '@root/my-module.js' // not working
test('cube of 3 is 27', t => {
t.is(cube(3), 27)
})
我的模塊.js
export default function cube(x) {
return x * x * x
}
將這些文件保存到一個空文件夾,然后在終端的該路徑中: npm i && npm run test
也許我缺少相同的基礎知識,非常感謝您的時間和幫助!
我遇到了同樣的問題。 您可以通過在 Ava 配置中使用module-alias/register
來解決此問題。
您的package.json應如下所示:
{
"name": "ava-alias",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "ava"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"ava": "^2.4.0",
"esm": "^3.2.25",
"module-alias": "^2.2.2"
},
"ava": {
"require": [
"esm",
"module-alias/register"
]
},
"_moduleAliases": {
"@root": "."
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.