mirror of
https://github.com/abhijithvijayan/web-extension-starter.git
synced 2025-10-07 07:22:37 +02:00
fix: (#19) use MiniCssExtractPlugin for sass/scss/css files
This commit is contained in:
parent
f8631339ef
commit
8384723acc
@ -9,6 +9,7 @@ const WriteWebpackPlugin = require('write-webpack-plugin');
|
||||
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
||||
const { CheckerPlugin } = require('awesome-typescript-loader');
|
||||
const ExtensionReloader = require('webpack-extension-reloader');
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||
|
||||
const manifestInput = require('./src/manifest');
|
||||
|
||||
@ -77,33 +78,27 @@ module.exports = {
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
{
|
||||
test: /\.scss$/,
|
||||
test: /\.(sa|sc|c)ss$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
name: '[name].css',
|
||||
context: './src/styles/',
|
||||
outputPath: 'css/',
|
||||
},
|
||||
loader: MiniCssExtractPlugin.loader, // It creates a CSS file per JS file which contains CSS
|
||||
},
|
||||
'extract-loader',
|
||||
{
|
||||
loader: 'css-loader',
|
||||
loader: 'css-loader', // Takes the CSS files and returns the CSS with imports and url(...) for Webpack
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'postcss-loader',
|
||||
loader: 'postcss-loader', // For autoprefixer
|
||||
options: {
|
||||
ident: 'postcss',
|
||||
// eslint-disable-next-line global-require
|
||||
// eslint-disable-next-line global-require, @typescript-eslint/no-var-requires
|
||||
plugins: [require('autoprefixer')()],
|
||||
},
|
||||
},
|
||||
'resolve-url-loader',
|
||||
'sass-loader',
|
||||
'resolve-url-loader', // Rewrites relative paths in url() statements
|
||||
'sass-loader', // Takes the Sass/SCSS file and compiles to the CSS
|
||||
],
|
||||
},
|
||||
],
|
||||
@ -135,7 +130,9 @@ module.exports = {
|
||||
chunks: ['options'],
|
||||
filename: 'options.html',
|
||||
}),
|
||||
// copy assets
|
||||
// write css file(s) to build folder
|
||||
new MiniCssExtractPlugin({ filename: 'css/[name].css' }),
|
||||
// copy static assets
|
||||
new CopyWebpackPlugin([{ from: 'src/assets', to: 'assets' }]),
|
||||
// write manifest.json
|
||||
new WriteWebpackPlugin([{ name: manifest.name, data: Buffer.from(manifest.content) }]),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user