tl;dr: Как мне убрать плагин text.js из моего оптимизированного файла, когда весь мой текст зависимости встроены?
Я использую оптимизатор Require.js(через Node) для оптимизации некоторых файлов JS в моем проекте. Я использую текстовый плагин для загрузки текстовых зависимостей (шаблоны HTML, CSS). У меня есть модуль, который я хочу оптимизировать, включая его зависимости, например:
define(['text!core/core.css'], function(styles) {
// do setup stuff, return an object
});
В документации Require.js говорится, что файл core/core.css
будет встроен при запуске . ] оптимизатор r.js
, который я вызываю следующим образом:
$ r.js -o baseUrl=./src name=core out=release/test.js
Tracing dependencies for: core
Uglifying file: c:/path/release/test.js
c:/path/release/test.js
----------------
c:/path/src/text.js
text!core/core.css
c:/path/src/core.js
Хорошая новость в том, что это работает.Когда я смотрю на оптимизированный файл, я вижу встроенный текст, что-то вроде этого:
define("text!core/core.css",[],function(){return"some CSS text"}),
define("core",["text!core/core.css"],function(a){ ... })
Плохая новость в том, что плагин text.js также включен — он добавляет около 3 КБ и состоит из (насколько я могу скажите) теперь совершенно ненужный код для загрузки внешних текстовых файлов. Я знаю, что 3K — это немного, но я стараюсь, чтобы мой код был максимально оптимизирован, и, насколько я понимаю, код для текстового плагина вовсе не нужен, если мои текстовые зависимости встроены. Я могу отключить текстовый плагин, добавив exclude=text
к моему вызову r.js
, но если я это сделаю, я получаю сообщение об ошибке при попытке использовать оптимизированный код в браузер сообщает, что плагин text.js не может быть загружен.
Итак:
Есть ли причина, по которой плагин text.js действительно необходимздесь?
Если нет, существует ли параметр конфигурациидля r.js
, который может исправить это поведение, или
существует ли легкая прокладкадля Плагин text.js, который я могу включить, чтобы убедить Require.js, что ненужный плагин загружен?