Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#include <iostream>
#include <list>
#include "require.hpp"
int main()
{
Require require;
// Путь к файлам (можно не указывать, в этом случае он должен быть назначен самим файлам)
std::string path("./files/");
// Имена файлов, можно передать строкой с любым символом-разделителем
std::string name("file_1.js;file_2.js;");
// Записать в любой STL контейнер, который поддерживает итератор std::back_inserter
std::list<std::string> file;
require.split(name, ';', std::back_inserter(file));
// Можно без сплита сразу в контейнер добавлять элементы: file.push_back("file_1.js");
// Загружаем файлы
if (require.load(file, path)) { // устанавливаем имя файла и общий путь (опционально)
// Получаем данные
// Если установлен флаг минификации, то вырезаются все комментарии, пробелы, табуляция и пере воды строк
std::string data(require.data(true /* Можно задать флаг минификации */));
// Сохраняем данные в файл
if (require.save(path + "file.js"))
std::cout << data << std::endl;
// Если файл уже существует и не нужно его перезаписывать, то вторым параметром можно указать флажек
// require.save(path + "./file.js", std::ios::app);
}
return 0;
}
<script type="text/javascript">
<param _expr="require" _initparams="path=/files/js/, file=core.js;widget.js" />
</script>
<script type="text/javascript" _expr="require" _params="file as src" _initparams="path=/files/js/, file=core.js;widget.js"></script>
Grunt, инструмент для сборки javascript проектов