RequireJS - исключение кода тестирования из оптимизированной сборки - PullRequest
1 голос
/ 21 ноября 2011

Я пытался интегрировать тестирование в свое приложение на основе RequireJS.Я нашел этот пример того, как тестирование QUnit может быть интегрировано в структуру RequireJS.Очевидно, вы не хотите, чтобы тестовый код лежал в производственной сборке. Как сохранить тестирование после окончательной сборки в RequireJS?

1 Ответ

2 голосов
/ 29 марта 2012

В файле сборки можно установить множество параметров. Смотрите полный пример на GitHub (https://github.com/jrburke/r.js/blob/master/build/example.build.js)

Что вы хотите сделать, это исключить определенные элементы из вашего модуля:

 //This module entry combines all the dependencies of foo/bar/bip into one file,
 //but excludes foo/bar/bop and its dependencies from the built file. If you want
 //to exclude a module that is also another module being optimized, it is more
 //efficient if you define that module optimization entry before using it
 //in an exclude array.
    {
        name: "foo/bar/bip",
        exclude: [
            "foo/bar/bop"
        ]
    },

 //This module entry shows how to specify a specific module be excluded
 //from the built module file. excludeShallow means just exclude that
 //specific module, but if that module has nested dependencies that are
 //part of the built file, keep them in there. This is useful during
 //development when you want to have a fast bundled set of modules, but
 //just develop/debug one or two modules at a time.
    {
        name: "foo/bar/bin",
        excludeShallow: [
            "foo/bar/bot"
        ]
    }

Вы также можете исключить элементы с регулярным выражением, но это, вероятно, излишне:

//When the optimizer copies files from the source location to the
//destination directory, it will skip directories and files that start
//with a ".". If you want to copy .directories or certain .files, for
//instance if you keep some packages in a .packages directory, or copy
//over .htaccess files, you can set this to null. If you want to change
//the exclusion rules, change it to a different regexp. If the regexp
//matches, it means the directory will be excluded. This used to be
//called dirExclusionRegExp before the 1.0.2 release.
//As of 1.0.3, this value can also be a string that is converted to a
//RegExp via new RegExp().

fileExclusionRegExp: /^\./,
...