Phantomjs Require和import查找模块,但proxyquireify没有?

Phantomjs Require和import查找模块,但proxyquireify没有?,phantomjs,ecmascript-6,karma-jasmine,babeljs,proxyquire,Phantomjs,Ecmascript 6,Karma Jasmine,Babeljs,Proxyquire,如问题所述,在以下情况下,模块的要求/导入工作正常: const Session = require('../session.js').default; 或 但是我想替换session.js中所需的模块,所以我尝试在Proxyquireify测试中这样做: const proxyquire = require('proxyquireify')(require); const someStub = () => { return {}; }; someStub['@noCallThru']

如问题所述,在以下情况下,模块的要求/导入工作正常:

const Session = require('../session.js').default;

但是我想替换session.js中所需的模块,所以我尝试在Proxyquireify测试中这样做:

const proxyquire = require('proxyquireify')(require);
const someStub = () => { return {}; };
someStub['@noCallThru'] = true;
const Session = proxyquire('../session.js', {
  'some': someStub
}).default;
然后我得到一个错误,指出找不到模块“../session.js”

PhantomJS 1.9.8 (Linux 0.0.0) ERROR
  Error: Cannot find module '../session.js'
我的业力配置如下:

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['browserify', 'jasmine'],
    files: [
        'spec/**/*Spec.js'
    ],
    exclude: [
        'spec/**/PlayerSpec.js'
    ],
    preprocessors: {
      'spec/**/*Spec.js': ['browserify']
    },
    browserify: {
      debug: true,
      transform: ['babelify']
    },
    reporters: ['progress', 'dots'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['PhantomJS'],
    singleRun: false,
    concurrency: Infinity
  })
};

有什么不对劲吗?你还需要更多的信息吗?

刚刚偶然发现了同样的问题。 注意到proxyquireify由于某种原因没有在
proxyquire
调用旁边插入
require
调用,所以我只是自己做了,至少现在是这样。 尝试使用类似以下内容:

require('../session.js');
const Session = proxyquire('../session.js', ...);
require('../session.js');
const Session = proxyquire('../session.js', ...);