tl; dr: Как сохранить плагин text.js из моего оптимизированного файла, когда все мои текстовые зависимости вложены?
Я использую Require.js optimizer (через 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 также включен - он добавляет около 3K и состоит из (насколько я могу судить) теперь совершенно ненужного кода для загрузки внешних текстовых файлов. Я знаю, что 3K не так много, но я стараюсь, чтобы мой код был сильно оптимизирован, и насколько я понимаю, код для текстового плагина совсем не нужен, если мои текстовые зависимости встроены. Я могу оставить текстовый плагин, добавив exclude=text
к моему вызову r.js
, но если это так, я получаю сообщение об ошибке, когда пытаюсь использовать оптимизированный код в браузере, говоря, что плагин text.js не может быть загружен.
Итак:
-
Есть ли причина, по которой плагин text.js действительно ?
-
Если нет, существует ли параметр конфигурации для
r.js
, который может исправить это поведение, или -
Есть ли легкий плагин для плагина text.js, который я могу включить, чтобы убедить Require.js, что загружен ненужный плагин?