Hola, les comparto una forma alternativa CopyWebpackPlugin y poder importar nuestros estilos al javascript en vez de al html, y se vea de esta forma
index.js
import router from './routes/index’
import ‘./styles/styles.css’ //Esto es lo que queremos lograr
window.addEventListener(‘load’, router)
window.addEventListener(‘hashchange’, router)
lo primero que ocupamos hacer es, en vez de instalar copy webpack plugin instalar MiniCssExtractPlugin y css loader. Este es el comando para instalarlos:
npm i mini-css-extract-plugin css-loader -D
teniendo eso, en el archivo de webpack.config.js importaremos el plugin asi:
const MiniCssExtractPlugin = require(‘mini-css-extract-plugin’)
despues agregaremos una nueva regla
{
test: /\.css$/i,
use: [MiniCssExtractPlugin.loader, 'css-loader'],
},
y agregaremos a la parte de plugins esto:
new MiniCssExtractPlugin({ filename: ‘assets/[name].css’ })
el archivo final de webpack.config.js quedo asi
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
/** @type {import('webpack').Configuration} */
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.js',
},
resolve: {
extensions: ['.js'],
},
module: {
rules: [
{
test: /\.js?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
{
test: /\.css$/i,
use: [MiniCssExtractPlugin.loader, 'css-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
inject: true,
template: './public/index.html',
filename: './index.html',
}),
new MiniCssExtractPlugin({ filename: 'assets/[name].css' }),
],
}
y listo, ya podemos importar nuestros estilos desde el javascript
Todo esto lo aprendi en el curso de webpack
Curso de Single Page Application con JavaScript Vanilla
0 Comentarios
para escribir tu comentario