added webpack-dev-server

pull/2118/head
fr4nc0is 2022-08-29 18:09:46 +02:00
parent e9fe96af07
commit 110594b06a
7 changed files with 12759 additions and 65046 deletions

View File

@ -1,3 +1,6 @@
if (module.hot) {
module.hot.accept();
}
import "../css/bootstrap.less";
import "../css/style.scss";

File diff suppressed because it is too large Load Diff

View File

@ -8,23 +8,25 @@
"lodash": "^4.17.21"
},
"devDependencies": {
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^9.0.1",
"css-loader": "^6.5.1",
"del": "^6.0.0",
"html-loader": "^3.0.1",
"html-webpack-plugin": "^5.5.0",
"less": "^4.0.0",
"less-loader": "^10.2.0",
"ngtemplate-loader": "^2.1.0",
"node-sass": "^7.0.0",
"sass-loader": "^12.3.0",
"sass": "^1.54.5",
"sass-loader": "^12.6.0",
"style-loader": "^3.3.1",
"url-loader": "^4.1.1",
"webpack": "^5.63.0",
"webpack-cli": "^4.9.1"
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.10.0"
},
"scripts": {
"build": "webpack --progress",
"build": "webpack --progress --mode=production",
"start": "webpack serve --mode=development",
"watch": "webpack --progress --watch"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -11,6 +11,7 @@
</head>
<body>
<glances refresh-time="{{ refresh_time }}"></glances>
<!--<glances refresh-time="{{ refresh_time }}"></glances>-->
<glances></glances>
</body>
</html>

View File

@ -1,68 +1,81 @@
const webpack = require("webpack");
const path = require("path");
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const CopyWebpackPlugin = require("copy-webpack-plugin");
const HtmlWebpackPlugin = require('html-webpack-plugin');
const PORT = process.env.PORT || 61209;
module.exports = {
mode: 'development',
entry: "./js/app.js",
output: {
path: path.join(__dirname, "public"),
filename: "glances.js",
sourceMapFilename: "glances.map.js",
},
optimization: {
minimize: false,
},
devtool: "source-map",
module: {
rules: [
{
test: /\.scss$/,
use: [{
loader: "style-loader",
}, {
loader: "css-loader",
}, {
loader: "sass-loader",
}]
},
{
test: /\.less$/,
use: [{
loader: "style-loader",
}, {
loader: "css-loader",
}, {
loader: "less-loader",
}]
},
{
test: /\.css$/,
use: [{
loader: "style-loader",
}, {
loader: "css-loader",
}]
},
{
test: /\.html/,
use: [{
loader: "ngtemplate-loader",
}, {
loader: "html-loader",
}]
module.exports = (_, env) => {
const isProd = env.mode === 'production';
return {
mode: isProd ? 'production' : 'development',
entry: "./js/app.js",
output: {
path: path.join(__dirname, "public"),
filename: "glances.js",
publicPath: '/',
clean: isProd
},
devtool: isProd ? false : 'eval-source-map',
module: {
rules: [
{
test: /\.scss$/,
use: [{
loader: "style-loader",
}, {
loader: "css-loader",
}, {
loader: "sass-loader",
}]
},
{
test: /\.less$/,
use: [{
loader: "style-loader",
}, {
loader: "css-loader",
}, {
loader: "less-loader",
}]
},
{
test: /\.css$/,
use: [{
loader: "style-loader",
}, {
loader: "css-loader",
}]
},
{
test: /\.html$/,
use: [{
loader: "ngtemplate-loader",
}, {
loader: "html-loader",
}]
}
],
},
plugins: [
new CopyWebpackPlugin({
patterns: [
{ from: "./images/favicon.ico" }
]
}),
!isProd && new HtmlWebpackPlugin({
template: './templates/index.html.tpl'
}),
].filter(Boolean),
devServer: {
host: '0.0.0.0',
port: PORT,
hot: true,
proxy: {
'/api': {
target: 'http://0.0.0.0:61208'
}
}
],
},
plugins: [
new CleanWebpackPlugin(),
new CopyWebpackPlugin({
patterns: [
{ from: "./images/favicon.ico" }
]
}),
]
}
};
};