2013-12-13 2 views
0

Я пытаюсь получить RequireJS работы использовать консоль CommonJS var mod=require("mod"); синтаксис и получаю эту ошибку:RequireJS не работает с CommonJS требует синтаксис

Uncaught Error: Module name "mod" has not been loaded yet for context: _. Use require([])

documentation для этого ошибочных состояний:

If the error message includes Use require([]), then it was a top-level require call (not a require call inside a define() call) that should be using the async, callback version of require to load the code

Но это не относится к моему коду - строка запроса находится в вызове define.

Вот мой урезанная код теста:

test.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Require JS test</title> 
     <script data-main="main" src="require.js"></script> 
    </head> 
    <body> 

    </body> 
</html> 

main.js:

define(function() { 
    var mod=require("mod"); 
}); 

mod.js:

define(function() { 
    return { 
     prop: 123 
    }; 
}); 

require.js - версия 2.1.9 - http://requirejs.org/docs/release/2.1.9/comments/require.js

ответ

1

Почему бы вам не использовать его как это:

основные ЯШ:

require(['mod'], function(mod) { 
    console.log(mod.prop); 
}); 

иначе использовать:

main.js:

define(function(require) { 
    var mod = require("mod"); 
}); 
+0

Я заинтересован в том, почему то, как я делаю это сейчас, не работает. –

+0

Я думаю, что вам просто не хватало require arg в вашей функции определения. – bbuecherl

+0

А это было, спасибо. –

Смежные вопросы