2017-01-20 7 views

ответ

2

Вы можете автоматически включать все пакеты JavaScript и CSS, используя HTML Webpack Plugin.

Пример

Для установки плагина нужно запустить npm install html-webpack-plugin --save-dev в каталоге проекта.

В следующем примере плагин будет читать исходный HTML-файл и автоматически добавлять имеющиеся файлы CSS в head и все пакеты JavaScript до конца body. Он отлично играет с ExtractTextPlugin. Если у вас больше кусков пакетов, они также будут добавлены соответственно.

В качестве бонуса вы можете использовать двигатель any template, если хотите динамически изменять или генерировать части вашего HTML-файла. Из коробки он поддерживает механизм шаблонов EJS с возможностью использования любых других via loaders.

var webpack = require("webpack"); 
var HtmlWebpackPlugin = require('html-webpack-plugin'); 

module.exports = { 
    entry: './src/js/entry',     // Source JavaScript file 
    output: { 
     path: './bin/',      // Output directory 
     filename: "./js/bundle.js"    // Result JavaScript file 
    }, 
    plugins: [ 
     new HtmlWebpackPlugin({ 
      template: './src/index.html',  // Source HTML file 
      filename: './index.html'   // Result HTML file 
     }), 
    ] 
}; 

Стоит отметить, что HTML Webpack Плагин имеет много возможностей, чтобы играть, в том числе Минимизация, фильтрация ломти, добавление файла хэш URL, чтобы предотвратить кэширование ... Вы можете узнать о тех, и многое другое в documentation.

+0

спасибо! Это именно то, что я искал :) – Nausik

1

Вы можете посмотреть мое стартерное семя с помощью web-сайта angular2 +. Все файлы были в директории сборки (app.js, vendor.js, polyfills.js) + карты

Link to webpack.config.js

+0

спасибо, я проверю его – Nausik

1

Webpack представляет собой модуль пакетирования. Он свяжет весь ваш SPA в одном или нескольких пакетах javascript в соответствии с вашей конфигурацией webpack. Теперь нам нужно импортировать эти js-пакеты внутри нашего HTML-кода, и единственный способ вставить эти вещи в наш HTML - это использовать тег скрипта. Поэтому вы импортируете их в свой html следующим образом:

<script src="bundle.js"></script> 

Так что да, это лучшая практика.