mocha 相当于 webpack 的 resolve root

mocha equivalent to webpack's resolve root

我正在编写一些加载具有如下路径的代码的 mocha 测试:

import MyStore from "stores/MyStore"

这在网络浏览器中工作正常,因为我们正在使用 webpack-dev-server,它反过来从 webpack.config.js 读取这个条目:config.resolve.root: [path.resolve(__dirname, "./app")] 所以它知道找到 ./app/stores/MyStore .

当 运行 来自 mocha --compilers js:babel/register 时,此路径不起作用。我试图找到一个我可能会用到的包或配置。这将使我们不必更改可能的代码引用,当然还能使我们的导入更具可移植性。

不确定是否重要,我们使用 iojs。如果确实无法做到这一点,那么只需更新路径就可以了。谢谢...

如何将您的 app 目录包含在 $NODE_PATH 中:

env NODE_PATH=$NODE_PATH:$PWD/app mocha ...

在 windows 中,我必须这样做:

set NODE_PATH=%CD%/app&& mocha...

出于某种原因,在 'app' 之后添加 space 会导致它不起作用

这是一个跨平台的方法。首先安装 cross-env:

npm install cross-env --save-dev

然后在你的 package.json:

"scripts": {
    ...
    "test": "cross-env NODE_PATH=./app mocha ..."
}