对于我正在从事的项目,我一直在使用JavaScript库。我的代码的主要逻辑分为多个commonjs模块。我使用Google闭包将模块合并到一个输出js文件中,该文件可在AngularJS应用程序中使用。
我遇到的问题是尝试用睾丸进行测试。我收到的错误是Uncaught ReferenceError: require is not defined
。之所以发生这种情况,是因为与Google闭包不同,testacular无法理解commonjs模块。我可以解决几个问题,但是我希望不必重新构建代码就能使它工作。
还有其他人遇到类似的问题吗?我愿意尝试不同的事物;我就是不想让任何东西变笨。
javaclassstreamreader.spec.js:
"use strict"
var JavaClassStreamReader = require('../javaclassstreamreader.js').JavaClassStreamReader;
describe('javaclassstreamreader', function() {
it('reader can be constructed', function() {
var dataView = {
byteLength : 0
};
//FIXME load dataView
var reader = new JavaClassStreamReader(dataView);
expect(reader.dataView).toBe(dataView);
expect(reader.offset).toBe(0);
expect(reader.maxOffset).toBe(0);
});
});
javaclassstreamreader.js:
function JavaClassStreamReader(dataView, initialOffset, maxBytesToRead) {
this.dataView = dataView;
this.offset = initialOffset || 0;
this.maxOffset = this.offset + (maxBytesToRead || this.dataView.byteLength);
}
//... code trucated ...
最佳答案
似乎有/有Testacular的issue。
您可以尝试以下方法:
npm cache clean
npm install -g [email protected]
关于javascript - 未捕获的ReferenceError : require is not defined,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14111785/