Пытаюсь сделать компиляцию SCSS. Нужно, чтобы SCSS (желательно, со всего src) не включался в html, а был отдельным файлом. Пожалуйста, подскажите, как исправить ошибку, или приведите другое решение этой задачи.
webpack.config.js
var webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
var outputPathArr = __dirname.split('\\');
outputPathArr.pop();
module.exports = {
entry: [
'.src/js/app.js',
'./src/style.scss'
],
output: {
path: outputPathArr.join('\\') + "\\smart\\js",
filename: "script.js"
},
devtool: "source-map",
resolve: {
modules: [__dirname, "node_modules"]
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
}),
new CleanWebpackPlugin(),
new ExtractTextPlugin({ // !!!!!!!!!!! Ошибка ведёт к этому плагину
filename: './style.css',
allChunks: true,
}),
],
module: {
rules: [
{
test: /\.scss$/,
use: [
"raw-loader",
"sass-loader"
]
},
{
test: /\.(sass|scss)$/,
include: (__dirname + '\\src\\scss'),
use: ExtractTextPlugin.extract({
use: [
{
loader: "css-loader",
options: {
sourceMap: true,
minimize: true,
url: false
}
},
{
loader: "sass-loader",
options: {
sourceMap: true
}
}
]
})
},
]
}
}
Примерная структура каталогов:
smart-src
node_modules
src
js
app.js
style.scss // -->
package.json
package-lock.json
webpack.config.js
smart // dist
js
script.js
style.css // <--
Ошибка в консоли
(node:11184) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.
hooks` instead
***smart-src\node_modules\webpack\lib\Chunk
.js:849
throw new Error(
^
Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Ent
rypoint instead
at Chunk.get (***smart-src\node_modules
\webpack\lib\Chunk.js:849:9)