我是摩卡新手。當我從terminal
運行時,我的腳本在下面工作。但是,當我從testrunner.html運行時沒有結果。在檢查時,這似乎是因爲var xl = require('./excel');
。如果我評論這個聲明,它是有效的。我怎樣才能做這項工作?我需要爲我的腳本導入自定義模塊。從TestRunner.html導入模塊需要聲明錯誤
更新test.js納入RequireJS
- 後的變化:適用於瀏覽器和termial
module1.js
if(typeof define !== 'undefined')
{
define([], function() {
return {
get: function() {
return get();
}
};
});
}
else if(typeof exports !== 'undefined') {
module.exports = {
get: function(){
return get();
}
};
}
function get(){
return "hello node world";
}
test.js
if(typeof requirejs == 'undefined') {var requirejs = require('requirejs');}
if(typeof chai == 'undefined') {var chai = require('chai');}
requirejs.config({
baseUrl: '.',
paths: {
},
nodeRequire: require
});
describe("RequireTest()", function(){
var module1;
before(function(done){
requirejs(['./module1'],
function(_module) {
console.log('before fired');
module1 = _module;
if(typeof requirejs == 'undefined') {mocha.run();}
done();
});
});
it('test case: ', function(){
console.log(module1.get());
chai.expect(1+1).to.equal(2);
});
});
testrunner.html(片斷)
<div id="mocha"></div>
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/chai/chai.js"></script>
<script src="../node_modules/requirejs/require.js"></script>
<script>mocha.setup('bdd')</script>
<script src="./test.js"></script>
<script>mocha.run();</script>
謝謝。根據我對readup的理解,我更新了原來的問題以使用'RequireJS'。而且,我仍然試圖讓它在瀏覽器上運行。請指教。 –
hello @Louis,我只是更新了原來的test.js以使用'RequireJS'。它從終端運行。但是,不通過瀏覽器。缺失的缺口是什麼?提前致謝。 –
您在瀏覽器中遇到什麼錯誤?記得在我的回答中,我提到一些節點模塊不會在瀏覽器中運行。這可能是你的問題。回想你的另一個問題,在我看來,你想從文件系統讀取。您不能在瀏覽器中執行此操作(在列表中不是從Node到瀏覽器代碼的直接轉換:瀏覽器不提供['fs'](https://nodejs.org/api/fs.html))。 – Louis