【问题标题】:Absolute Paths with Gulp Mocha and BrowserifyGulp Mocha 和 Browserify 的绝对路径
【发布时间】:2016-02-22 06:27:19
【问题描述】:

我有一个项目使用Browserify 和 ES6 来处理导入和定义包。在使用Gulp-Browserify 构建时,该项目使用“路径”选项使用绝对路径。

这适用于源代码,但现在我尝试使用Mocha 编写测试并使用gulp-mocha 运行它们,这会导致问题。摩卡期待相对路径,但如果我给它一个相对路径到一个使用绝对路径有其他导入的文件,测试将失败并出现 MODULE_NOT_FOUND 错误。

例如

Mocha Import at test/actions/user.js:
      import createUser from '../../src/actions/user';
      ...

Source Import at src/actions/user.js:
      import CREATE_USER from 'constants/use
      ...

会导致 MODULE_NOT_FOUND_ERROR

我想知道是否有任何方法可以在 mocha 中设置绝对路径列表,类似于 browserify?

【问题讨论】:

    标签: unit-testing mocha.js browserify gulp-mocha


    【解决方案1】:

    您可以使用app-require-path。只需将其安装为 dev dep 并添加以下两个文件:

    test/mocha.opts

    --require test/_bootstrap.js
    

    test/_bootstrap.js

    require('app-require-path')(__dirname + '/..');
    

    就是这样。您可以将 _bootstrap.js 中的路径更改为您想要的任何内容。您还可以添加多个路径。这取决于你。

    【讨论】:

    • 谢谢!我发现app-module-path 与 ES6 一起工作得更干净,但这绝对让我朝着正确的方向前进。
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2012-10-16
    • 2013-07-14
    • 2010-12-17
    • 1970-01-01
    相关资源
    最近更新 更多