Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AVA测试中设置别名_Javascript_Npm_Alias_Package.json_Ava - Fatal编程技术网

Javascript 如何在AVA测试中设置别名

Javascript 如何在AVA测试中设置别名,javascript,npm,alias,package.json,ava,Javascript,Npm,Alias,Package.json,Ava,我正在尝试在我的项目中全局设置别名,而不使用Webpack、Babel等。现在我有一个简单的测试 我使用的npm包允许我在package.json中设置别名。但是,当我尝试使用基本别名创建文档后面的简单示例时,它找不到该文件: Error: Cannot find module '@root/my-module.js' 您可以使用以下3个文件复制此示例: package.json { "name": "ava-alias", "version": "1.0.0", "descrip

我正在尝试在我的项目中全局设置别名,而不使用Webpack、Babel等。现在我有一个简单的测试

我使用的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)
})
export default function cube(x) {
  return x * x * x
}
my module.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)
})
export default function cube(x) {
  return x * x * x
}
将这些文件保存到空文件夹中,然后保存到终端的该路径中:
npm i&&npm run test


也许我错过了相同的基本知识,非常感谢您的时间和帮助

我遇到了同样的问题。 您可以通过在Ava配置中使用
模块别名/寄存器
来解决此问题

您的包.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": "."
  }
}