【问题标题】:Karma and requirejs: How to specify path from another project in requirejs.config?Karma 和 requirejs:如何在 requirejs.config 中指定另一个项目的路径?
【发布时间】:2017-06-26 20:41:13
【问题描述】:

我在 VisualStudio 解决方案中同时使用 karma.js 和 require.js。我的解决方案有两个项目,一个用于代码,一个用于测试。

如果我引用位于我的 Test.Project 中的库,则以下要求配置对我来说很好:

requirejs.config({   
  baseUrl: '/base',

  paths: {   
    'jquery': 'bower_components2/jquery/dist/jquery'    
  },

  deps: tests,   
  callback: window.__karma__.start
});

这是我的文件夹结构的一部分:

- Solution
  + Code.Project
    * App
    * bower_components1
  + Test.Project
    * App
    * bower_components2
    * karma.conf.js

我想从 Code.Project 引用 jquery,而不是从 Test.Project:

requirejs.config({   
  baseUrl: '/base',

  paths: {   
    'jquery': '../Code.Project/bower_components1/jquery/dist/jquery'    
  },

  deps: tests,   
  callback: window.__karma__.start
});

但是,这不起作用。找不到 Jquery,我收到以下错误:

Uncaught Error: Script error for "jquery", needed by: App/app.spec.js
  http://requirejs.org/docs/errors.html#scripterror
  at node_modules/requirejs/require.js:143

=> 是否存在不允许我从 /base 向上移动的限制?我是否应该使用与 baseUrl 不同的东西(我尝试了 / 和 ./ 但没有得到它的工作)?或者我的相对路径有什么错误?

(这里是一个完整的例子,关于如何使用 requirejs 和我作为起点的业力:https://github.com/kjbekkelund/karma-requirejs)

【问题讨论】:

    标签: javascript visual-studio requirejs karma-runner


    【解决方案1】:

    我刚刚找到了一个相关的答案(见下文)。

    将 karma.conf.js 直接放在解决方案文件夹中而不是放在测试项目中也可能更有意义。然后我可以直接在控制台输入“karma start”。 (NuGet 包管理器控制台/PowerShell 的默认路径是解决方案文件夹。)

    来自Karma and RequireJS getting files outside base url

    你自己写的

    // Karma 服务于 /base 下的文件,这是您的配置文件中的 basePath baseUrl: '../',

    因此,这意味着如果您希望能够访问比这更深的文件,则需要使用以下命令移动所有 url:

    baseUrl: '../..',

    你也可以使用 base/ ,它会被 karma 理解为你的 karmaConf.js 的 basePath

    为了更好地理解 karma.conf 和 test-main.js 的 basePath 是如何工作的,你可以看看这个:http://monicalent.com/blog/2015/02/11/karma-tests-angular-js-require-j/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 2011-10-08
      相关资源
      最近更新 更多