Когда я должен использовать require () и когда использовать define ()?
Я играю с requirejs в течение последних нескольких дней. Я пытаюсь понять различия между define и require.
Define, похоже, допускает разделение модулей и позволяет придерживаться порядка зависимостей. Но он загружает все файлы, необходимые для начала. В то время как требуют только нагрузки, что вам нужно, когда вам это нужно.
можно ли их использовать вместе и для каких целей каждый из них должен использоваться?
4 ответов:
С
defineвы регистрируете модуль в require.js, от которых вы можете зависеть в других определениях модулей или требовать операторов. Сrequireвы" просто " загружаете / используете модуль или файл javascript, который может быть загружен require.js. Для примера взгляните на документациямое правило:
Define: если вы хотите объявить модуль, от которого будут зависеть другие части вашего приложения.
Требует: Если вы просто хотите загрузить и использовать вещи.
от требуют.js исходный код (линия 1902):
/** * The function that handles definitions of modules. Differs from * require() in that a string for the module should be the first argument, * and the function to execute after dependencies are loaded should * return a value to define the module corresponding to the first argument's * name. */The
define()функция принимает два необязательных параметра (строка, представляющая идентификатор модуля и массив необходимых модулей) и один обязательный параметр (метод фабрики).возврат заводским способом должны вернуться реализацию для вашего модуля (таким же образом, что Модуль Pattern делает).
в
require()функция не должна возвращать внедрение нового модуля.используя
define()вы спрашиваете что-то вроде "запустите функцию, которую я передаю в качестве параметра, и назначьте все, что возвращает идентификатор, который я передаю, но перед этим проверьте, что эти зависимости загружены".используя
require()вы говорите что-то вроде " функция, которую я передаю, имеет следующее зависимости, проверьте, что эти зависимости загружаются перед запуском".The
require()функция, где вы используете свои определенные модули, чтобы быть уверенным, что модули определены, но вы не определяете новые модули там.
"определить" метод для облегчения определения модуля и метод "require" для обработки загрузки зависимостей
define используется для определения именованных или неназванных модулей на основе предложения с использованием следующей подписи:
define( module_id /*optional*/, [dependencies] /*optional*/, definition function /*function for instantiating the module or object*/ );require с другой стороны, обычно используется для загрузки кода в файл JavaScript верхнего уровня или в модуле, если вы хотите динамически извлекать зависимости
см. https://addyosmani.com/writing-modular-js/ для получения дополнительной информации.
require() и define () оба используются для загрузки зависимостей.Существует большая разница между этими двумя методами.
его очень просто, ребята!--4-->
Require (): метод используется для запуска немедленных функций. define (): метод используется для определения модулей для использования в нескольких местах (повторное использование).
Comments