[英]Can't load modules for Intern testing while using Browserify
我正在嘗試使用Intern來測試我的一個模塊tested.js
,它依賴於另一個模塊dependency.js
。 因為我使用的是Browserify, tested.js
包含以下內容:
var dep = require('./lib/dependency.js');
實習生拋出以下錯誤:
Warning: Error: Attempt to require unloaded module lib/dependency.js
這是我的測試文件的開頭:
define([
'intern!object',
'intern/chai!assert',
'src/js/tested'
], function (registerSuite, assert, tested) {
registerSuite({
// ...
我的實習配置文件使用默認的Dojo加載器。 我嘗試使用RequireJS,但無法使其正常工作(似乎實習生在使用替代AMD加載器方面存在一些問題: https: //github.com/theintern/intern/issues/147,https :// github .com / theintern / intern / pull / 132#issuecomment-33403157 )。
如何讓Intern正確加載所需的依賴項?
編輯:我正在使用grunt-browserify,但我正在測試非瀏覽器模塊 - 我只提到了Browserify來解釋我使用“require”的原因。
您無法在瀏覽器中加載CJS / Node.js模塊而無需在Browserify中運行它們。 這就是Browserify的全部目的。 您需要對模塊進行預瀏覽,切換到使用AMD模塊而不是為您的應用程序使用CJS模塊,或者引入代理來動態轉換模塊。
如果您嘗試通過Intern在Node.js中加載CJS模塊,則需要使用intern/dojo/node
模塊來促進該加載:
define([
'intern!object',
'intern/chai!assert',
'intern/dojo/node!src/js/tested'
], function (registerSuite, assert, tested) {
registerSuite({
// ...
有關此內容的更多信息,請參閱文檔的“ 測試非AMD代碼”部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.