我正在尝试不使用Webpack,Babel等在项目中全局设置别名。现在,我使用AVA做了一个简单的测试。
我正在使用module-alias npm软件包,该软件包可以让我在package.json中设置别名。但是,当我尝试根据文档创建带有基本别名的简单示例时,找不到文件:
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": "."
}
}
test.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)
})
my-module.js
export default function cube(x) {
return x * x * x
}
将这些文件保存到一个空文件夹,然后在终端的该路径中:npm i && npm run test
也许我缺少相同的基础知识,非常感谢您的时间和帮助!