2015-03-20 3 views
1

My Javascript Файл начинается с конфигурацией ...RequireJS сахара для магистрали требует

require.config({ 
    baseUrl: 'scripts', 
    paths: { 
     'code-mirror': 'codemirror/main', 
     'esprima': 'https://cdn.rawgit.com/jquery/esprima/1.2/esprima', 
     'jquery': 'http://code.jquery.com/jquery-1.11.2.min', 
    }, 
}) 

... а затем требует ...

require(['jquery', 'code-mirror', 'profile', 'feedback', 'browser-detect'], function($, CodeMirror, undefined, feedback, browser){ 

... и это работает! Теперь, я попытался использовать синтаксис сахара вместо этого, как так ...

require(function(require){ 

var $ = require('jquery'), 
    CodeMirror = require('code-mirror'), 
    undefined = require('profile'), // functions bound to window 
    feedback = require('feedback'), 
    browser = require('browser-detect'); 

... и это не работает! Зачем? Спасибо!

ответ

0

Синтаксис сахара CommonJS доступен только для define, а не для require.

Если вы посмотрите на исходный код RequireJS, найдите регулярное выражение с именем cjsRequireRegExp. Это регулярное выражение, которое используется для работы с синтаксисом CommonJS. Найдите его появления: вы увидите, что он используется только для define.

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