Javascript 使用AMD和webpack在浏览器中引入sinon子模块

Javascript 使用AMD和webpack在浏览器中引入sinon子模块,javascript,amd,sinon,webpack,Javascript,Amd,Sinon,Webpack,我遇到了中描述的相同问题。基本上,如果您使用node,sinon只会拉入所有必需的子模块。如果您试图在AMD浏览器中使用它(我使用的是webpack),显然您必须手动包含lib/spy.js 我有一个当前导出sinon的网页包模块: exports.sinon = require('sinon'); 我将如何修改它以在spy.js中滚动 我认为这更像是一个常见的JS语法问题。以下内容似乎有效: exports.sinon = require("sinon"); exports.sinon.sp

我遇到了中描述的相同问题。基本上,如果您使用node,sinon只会拉入所有必需的子模块。如果您试图在AMD浏览器中使用它(我使用的是webpack),显然您必须手动包含
lib/spy.js

我有一个当前导出sinon的网页包模块:

exports.sinon = require('sinon');
我将如何修改它以在
spy.js
中滚动


我认为这更像是一个常见的JS语法问题。

以下内容似乎有效:

exports.sinon = require("sinon");
exports.sinon.spy = require("sinon/lib/sinon/spy");
exports.sinon.spyCall = require("sinon/lib/sinon/call");
exports.sinon.behavior = require("sinon/lib/sinon/behavior");
exports.sinon.stub = require("sinon/lib/sinon/stub");
exports.sinon.mock = require("sinon/lib/sinon/mock");
exports.sinon.collection = require("sinon/lib/sinon/collection");
exports.sinon.assert = require("sinon/lib/sinon/assert");
exports.sinon.sandbox = require("sinon/lib/sinon/sandbox");
exports.sinon.test = require("sinon/lib/sinon/test");
exports.sinon.testCase = require("sinon/lib/sinon/test_case");
exports.sinon.match = require("sinon/lib/sinon/match");

这基本上是模仿sinon.js中的行为。如果有人有更好/更清洁的解决方案,请发布,我会接受。现在我看到它,我想知道为什么会有

你能提供一个如何使用
spy
功能的例子吗?我用酶和摩卡咖啡做测试