carga inicial
Carga inicial
This commit is contained in:
87
webpack.config.js
Normal file
87
webpack.config.js
Normal file
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* Main file of webpack config.
|
||||
* Please do not modified unless you know what to do
|
||||
*/
|
||||
const path = require("path");
|
||||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
const WebpackRTLPlugin = require("webpack-rtl-plugin");
|
||||
const WebpackMessages = require("webpack-messages");
|
||||
const del = require("del");
|
||||
|
||||
// theme name
|
||||
const themeName = "metronic";
|
||||
// global variables
|
||||
const rootPath = path.resolve(__dirname);
|
||||
const distPath = rootPath + "/src/assets";
|
||||
|
||||
const entries = {
|
||||
"css/style.angular": "./src/assets/sass/style.angular.scss"
|
||||
};
|
||||
|
||||
// remove older folders and files
|
||||
(async () => {
|
||||
await del.sync(distPath + "/css", {force: true});
|
||||
})();
|
||||
|
||||
const mainConfig = function () {
|
||||
return {
|
||||
mode: "development",
|
||||
stats: "errors-only",
|
||||
performance: {
|
||||
hints: false
|
||||
},
|
||||
entry: entries,
|
||||
output: {
|
||||
// main output path in assets folder
|
||||
path: distPath,
|
||||
// output path based on the entries' filename
|
||||
filename: "[name].js"
|
||||
},
|
||||
resolve: {extensions: ['.scss']},
|
||||
plugins: [
|
||||
// webpack log message
|
||||
new WebpackMessages({
|
||||
name: themeName,
|
||||
logger: str => console.log(`>> ${str}`)
|
||||
}),
|
||||
// create css file
|
||||
new MiniCssExtractPlugin({
|
||||
filename: "[name].css",
|
||||
}),
|
||||
new WebpackRTLPlugin({
|
||||
filename: "[name].rtl.css",
|
||||
}),
|
||||
{
|
||||
apply: (compiler) => {
|
||||
// hook name
|
||||
compiler.hooks.afterEmit.tap('AfterEmitPlugin', (compilation) => {
|
||||
(async () => {
|
||||
await del.sync(distPath + "/css/*.js", {force: true});
|
||||
})();
|
||||
});
|
||||
}
|
||||
},
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.scss$/,
|
||||
use: [
|
||||
MiniCssExtractPlugin.loader,
|
||||
"css-loader",
|
||||
{
|
||||
loader: "sass-loader",
|
||||
options: {
|
||||
sourceMap: true,
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = function () {
|
||||
return [mainConfig()];
|
||||
};
|
||||
Reference in New Issue
Block a user