Ответ 1
Browserify должен иметь возможность статически анализировать все запросы, требуемые во время сборки, чтобы он мог знать, какие файлы необходимо включать в комплект. Это требует, чтобы require
можно было использовать только со строковым литералом в исходном коде.
Вместо того, чтобы передавать имя модуля, требующего позже, просто передайте сам модуль:
var playersOptions = {
name: 'players',
ajax: 'team-overview',
route: {
name: 'overview',
module: require('playersOverview'),
url: 'playersoverview'
}
};
var BackboneView = playersOptions.route.module;
Даже если этого ограничения для браузера не было (например, если вы использовали напрямую node.js), все же рекомендуется избегать передачи имен модулей, которые потребуются позже, потому что вызов вызова может прерываться, если модуль имя, переданное ему, имело путь относительно каталога вызывающего абонента и передавалось в код в файле внутри другого каталога.