Как я могу запретить оптимизатору Require.js включать текстовый плагин в оптимизированные файлы?

tl;dr: How do I keep the text.js plugin out of my optimized file when all my text dependencies are inlined?

Я используюОптимизатор Require.js (через узел) для оптимизации некоторых файлов JS в моем проекте. Я используютекстовый плагин загрузить текстовые зависимости (HTML шаблоны, CSS). У меня есть модуль, который я хочу оптимизировать, включая его зависимости, например:

<code>define(['text!core/core.css'], function(styles) {
    // do setup stuff, return an object
});
</code>

Документы Require.js говорят, чтоcore/core.css файл будет встроен при запускеr.js оптимизатор, который я вызываю так:

<code>$ 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
</code>

Хорошая новость в том, что это работает. Когда я смотрю на оптимизированный файл, я вижу встроенный текст, что-то вроде этого:

<code>define("text!core/core.css",[],function(){return"some CSS text"}),
define("core",["text!core/core.css"],function(a){ ... })
</code>

Плохая новость заключается в том, что плагин text.js также включен - он добавляет около 3 КБ и состоит из (насколько я могу судить) теперь совершенно ненужного кода для загрузки внешних текстовых файлов. Я знаю, что 3K не так много, но я стараюсь поддерживать мой код высокооптимизированным, и, насколько я понимаю, код для текстового плагина совсем не нужен, если мои текстовые зависимости встроены. Я могу сохранить текстовый плагин, добавивexclude=text к моемуr.js вызов, но если я это сделаю, я получаю сообщение об ошибке, когда пытаюсь использовать оптимизированный код в браузере, говоря, что плагин text.js не может быть загружен.

Так:

Is there any reason the text.js plugin is actually required here?

If not, is there a configuration option for r.js that can fix this behavior, or

Is there an easy shim for the text.js plugin that I can include to convince Require.js that the unnecessary plugin is loaded?

Ответы на вопрос(1)

Ваш ответ на вопрос