使用requirejs的Karma/jasmine/pact js示例

使用requirejs的Karma/jasmine/pact js示例,requirejs,pact,Requirejs,Pact,我正在做这项工作。它工作正常。我需要让它和requirejs一起工作。当我引入requirejs并将客户端和客户端规范类转换为AMD时,我开始出现以下错误: PhantomJS 2.1.1(Windows 7 0.0.0)客户端sayHello应该说hello失败 TypeError:undefined不是js/client-spec.js(第11行)中的构造函数(评估“Pact”) js/client-spec.js:11:28 要了解问题,您可以查看。要运行它,请执行以下操作: 在上面我的示

我正在做这项工作。它工作正常。我需要让它和requirejs一起工作。当我引入requirejs并将客户端和客户端规范类转换为AMD时,我开始出现以下错误:

PhantomJS 2.1.1(Windows 7 0.0.0)客户端sayHello应该说hello失败 TypeError:undefined不是js/client-spec.js(第11行)中的构造函数(评估“Pact”) js/client-spec.js:11:28

要了解问题,您可以查看。要运行它,请执行以下操作:

  • 在上面我的示例项目中解压缩zip文件
  • 从PactTest目录中,运行: npm安装
  • 完成后,运行: npm运行测试:客户端
  • 干杯,
    Mike

    您需要将模块名称设置为“Pact”而不是“Pact web”。似乎requirejs找不到匹配的模块名

    client-spec.js
    中,将
    定义更改为:

    define(['client', 'Pact'], function (example, Pact) {
    
    test main.js中
    更新配置,如下所示:

    require.config({
        baseUrl: '/base',
        paths: {
            // 'pact-web': 'node_modules/pact-web/pact-web', <-- not this
            'Pact': 'node_modules/pact-web/pact-web',
            'client': 'js/client'
        },
        deps: allTestFiles,
        callback: window.__karma__.start
    })
    
    require.config({
    baseUrl:“/base”,
    路径:{
    
    //“pact web”:“node_modules/pact web/pact web”,我不确定您是否正确使用了requirejs,我相当确定您看到的问题是因为您尝试执行的配置没有正确设置。您好,您有用于此的package.json吗?@user2451016,package.json在上面链接的示例项目中。Mike您好,谢谢,但由于防火墙原因,无法访问。您有gist/github吗?谢谢