Я пишу загрузчик для webpack, который препроцессор стрелки функции в html для классических функций. Я собираюсь использовать его с нокаутами. Для предварительной обработки я использую этот packageКак обрезать «module.exports» в загрузчике webpack и получить простую строку?
Теперь у меня есть
var rewrite = require('knockout-arrows');
module.exports = function (str) {
if (this.cacheable) {
this.cacheable();
}
var template = rewrite(str);
return "module.exports = '" + template + "'";
};
Он отлично работает, когда я непосредственно предобработка .html файла. Но при использовании другого загрузчика в цепочке (например, require("knockout-arrows!jade!./file.jade")
) он становится сломанным, так как загрузчик jade
также возвращает строку с "module.exports = '<h1>example</h1>'"
.
Итак, мой вопрос заключается в том, как разрезать этот «module.exports» и получить простую строку? Конечно, я могу использовать регулярное выражение, но я думаю, что это неправильно.
Извините за вопрос о нубе.
Насколько я могу видеть, загрузчик Джейд не return rendered HTML, но скомпилированная функция шаблона. – robertklep
@robertklep да, и это проблема, которую я пытаюсь решить. Кажется, я просто не понимаю философию погрузчиков. Jade возвращает именно эту строку javascript '' module.exports = '
test
' ' – VeikedoЯвляются ли ваши файлы Jade статическими (другими словами: не зависят от каких-либо переменных, которые необходимо визуализировать)? – robertklep