Spec-Zone.ru › webpack 1

Node.Js API

Быстрый способ

var webpack = require("webpack");

// returns a Compiler instance
webpack({
    // configuration
}, function(err, stats) {
    // ...
});

Длительный способ

var webpack = require("webpack");

// returns a Compiler instance
var compiler = webpack({
    // configuration
});

compiler.run(function(err, stats) {
    // ...
});
// or
compiler.watch({ // watch options:
    aggregateTimeout: 300, // wait so long for more changes
    poll: true // use polling instead of native watchers
    // pass a number to set the polling interval
}, function(err, stats) {
    // ...
});

Compiler

Экземпляр Compiler имеет следующие методы

compiler.run(callback) — Сборка пучка(ов). Она выполняется инкрементально.

  • callback(err, stats) — Функция, которая будет вызвана по завершении сборки.

var watcher = compiler.watch(watchOptions, handler) — Сборка пучка(ов), а затем запуск наблюдателя, который пересобирает пучки всякий раз, когда изменяются исходные файлы. Возвращает экземпляр Watching. Примечание: поскольку это автоматически выполнит начальную сборку, вам нужно выполнить только watch (и не run).

  • watchOptions
    • watchOptions.aggregateTimeout — После изменения наблюдатель ожидает указанное время (в миллисекундах) для получения дополнительных изменений. По умолчанию: 300.
    • watchOptions.poll — Наблюдатель использует метод опроса вместо родных наблюдателей. true использует интервал по умолчанию; число указывает интервал в миллисекундах. По умолчанию: undefined (автоматически).
  • handler(err, stats) — Функция, которая будет вызвана при завершении сборки или возникновении ошибки или предупреждения. (Обратите внимание, что handler вызывается несколько раз. Может даже произойти так, что handler вызывается для одного и того же пучка несколько раз. В таких случаях webpack не уверен в изменениях и выполняет пересборку.)

Watching

Экземпляр Watching имеет следующий метод:

watcher.close(callback) — останавливает наблюдатель.

  • callback — Функция, которая вызывается при закрытии наблюдателя.

stats

Объект Stats предоставляет следующие методы:

stats.hasErrors()

Возвращает true, если при компиляции произошли ошибки.

stats.hasWarnings()

Возвращает true, если при компиляции возникли предупреждения.

stats.toJson(options)

Возвращает информацию в формате JSON.

Существует несколько уровней ведения журналов, передайте их как options (например, `stats.toJson(“verbose”)):

"none" (или false) ничего не выводят

"errors-only" выводят только при ошибках

"minimal" выводят только при ошибках или новой компиляции

"normal" (или true) стандартный вывод

"verbose" выводят всю информацию, имеющуюся у webpack

Для более точного управления передайте объект, в котором можно установить следующие булевы значения:

options.context (строка) каталог контекста для сокращения запросов

options.hash добавляет хеш компиляции

options.version добавляет информацию о версии webpack

options.timings добавляет информацию о времени

options.assets добавляет информацию об активах

options.chunks добавляет информацию о блоках (установка этого значения в false позволяет получить менее подробный вывод)

options.chunkModules добавляет информацию о построенных модулях в информацию о блоках

options.modules добавляет информацию о построенных модулях

options.children добавляет информацию о дочерних элементах

options.cached добавляет информацию о кэшированных (не построенных) модулях

options.reasons добавляет информацию о причинах включения модулей

options.source добавляет исходный код модулей

options.errorDetails добавляет детали ошибок (например, логи разрешения)

options.chunkOrigins добавляет информацию об источниках блоков и сведении о слиянии блоков

options.modulesSort (строка) сортировка модулей по этому полю

options.chunksSort (строка) сортировка блоков по этому полю

options.assetsSort (строка) сортировка активов по этому полю

Вот пример результирующего JSON: пример результирующего JSON.

Примечание: Если вы хотите извлечь имя актива для создания страницы HTML, используйте свойство assetsByChunkName, которое содержит объект, сопоставляющий chunkName с именем(ами) актива(ов) (это строка или массив строк).

stats.toString(options)

Возвращает отформатированную строку результата.

options идентичны options в toJson.

options.colors С цветами консоли

Вот пример использования stats.toString.

var webpack = require("webpack");
webpack({
    // configuration
}, function(err, stats) {
        if (err) { throw new gutil.PluginError('webpack:build', err); }
        gutil.log('[webpack:build]', stats.toString({
            chunks: false, // Makes the build much quieter
            colors: true
        }));
});

Обработка ошибок

Для обработки всех ошибок и предупреждений с помощью API node.js необходимо проверить err, stats.errors и stats.warnings.

var webpack = require("webpack");
webpack({
    // configuration
}, function(err, stats) {
    if(err)
        return handleFatalError(err);
    var jsonStats = stats.toJson();
    if(jsonStats.errors.length > 0)
        return handleSoftErrors(jsonStats.errors);
    if(jsonStats.warnings.length > 0)
        handleWarnings(jsonStats.warnings);
    successfullyCompiled();
});

Компиляция в память

var MemoryFS = require("memory-fs");
var webpack = require("webpack");

var fs = new MemoryFS();
var compiler = webpack({ ... });
compiler.outputFileSystem = fs;
compiler.run(function(err, stats) {
  // ...
  var fileContent = fs.readFileSync("...");
});

© 2012–2015 Tobias Koppers
Licensed under the MIT License.
https://webpack.github.io/docs/node.js-api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API