Ответ 1
Используется стильный загрузчик, который по умолчанию встраивает ваш CSS в Javascript и вводит его во время выполнения.
Если вам нужны реальные CSS файлы вместо CSS, встроенные в ваш Javascript, вы должны использовать ExtractTextPlugin
.
Базовая конфигурация:
-
Добавьте
var ExtractTextPlugin = require('extract-text-webpack-plugin');
в начало конфигурационного файла Webpack. -
Добавьте в конфигурацию Webpack следующее:
plugins: [ new ExtractTextPlugin('[name].css'), ]
-
Измените конфигурацию загрузчика SASS следующим образом:
{ test: /\.scss$/, loader: ExtractTextPlugin.extract( 'style-loader', // backup loader when not building .css file 'css-loader!sass-loader' // loaders to preprocess CSS ) }
Что это такое - извлечь все CSS, которые он может найти в вашем пакете, в отдельный файл. Имя будет основано на имени вашей точки входа, которое в вашем случае приведет к javascript.css
(из входной части вашей конфигурации).
ExtractTextPlugin.extract
-loader используется плагином, чтобы найти CSS в вашем коде и поместить его в отдельные файлы. Первый параметр, который вы ему даете, - это загрузчик, на который он должен вернуться, если он встречает файлы в асинхронном модуле, например. Обычно это почти всегда style-loader
. Второй параметр сообщает плагину, какие загрузчики использовать для обработки CSS, в этом случае css-loader
и sass-loader
, но такие вещи, как postcss-loader
, также часто используются.
Дополнительную информацию о создании CSS с помощью Webpack можно найти здесь: https://webpack.github.io/docs/stylesheets.html#separate-css-bundle