-
Notifications
You must be signed in to change notification settings - Fork 0
/
bundler.js
34 lines (29 loc) · 2.89 KB
/
bundler.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const Bundler = require('parcel-bundler');
const Path = require('path');
// Путь к файлу точки входа
const file = Path.join(__dirname, './src/index.html');
// Опции упаковщика (Bundler)
const options = {
outDir: './docs', // Каталог для файлов сборки, по умолчанию - dist
outFile: 'index.html', // Имя выходного файла
publicUrl: './', // Путь, который обслуживает сервер, по умолчанию - dist
watch: true, // следует ли отслеживать изменения файлов и пересобирать их при изменении, по умолчанию - process.env.NODE_ENV !== 'production'
cache: true, // Включает или отключает кеширование, по умолчанию - true
cacheDir: '.cache', // Каталог кеширования, по умолчанию .cache
minify: false, // Минизировать файлы, включено если process.env.NODE_ENV === 'production'
target: 'browser', // browser/node/electron, по умолчанию - browser
https: false, // Использовать защищённое соединение (https) для файлов, по умолчанию - false
logLevel: 3, // 3 = логировать всё, 2 = логировать предупреждения и ошибки, 1 = логировать ошибки
hmrPort: 0, // Порт на котором работает сокет hmr, по умолчанию - случайный свободный порт (0 в node.js определяет случайный свободный порт)
sourceMaps: true, // Включить или отключить sourcemaps, по умолчанию включено (пока ещё не поддерживается в минифицированных сборках)
hmrHostname: '', // Имя хоста для модуля горячей перезагрузки, по умолчанию - ''
detailedReport: false // Распечатывает подробный отчёт о бандлах, ресурсах, размерах файлов и времени, по умолчанию - false, отчёты распечатываются, если watch отключен
};
async function runBundle() {
// Инициализует упаковщик, используя местоположение точки входа и предоставленные опции
const bundler = new Bundler(file, options);
// Запускает упаковщик и возвращает главную сборку
// Используйте события, если вы используете режим watch, поскольку этот промис запускает только один раз, а не при каждой пересборки
const bundle = await bundler.bundle();
}
runBundle();