build at: 2025-07-23t12: 23: 56.259z - хэш: 5ba2b19880727f6c - Время: 150153ms
console.log :
build at: 2025-07-23t12: 28: 27.654z - hash: be9deeddc53e7be5 - время: 60598 мс
imbupes It Itrys Is Itry Is Itry Is Itry Is Itry Is Itry Is It. Неправильно .. < /p>
Я все еще использую Ngmodules и имею около 150 из них.
Код: Выделить всё
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"customWebpackConfig": {
"path": "webpack.config.js"
},
"sourceMap": true,
"optimization": true,
"statsJson": true,
"outputPath": "dist/fuse",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": [
"zone.js"
],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"allowedCommonJsDependencies": [
"apexcharts",
"highlight.js",
"crypto-js/enc-utf8",
"crypto-js/hmac-sha256",
"crypto-js/enc-base64",
"flat",
"quill",
"lodash",
"moment",
"pdfmake/build/pdfmake",
"pdfmake/build/vfs_fonts",
"html-to-pdfmake",
"jquery",
"quill-image-resize-module-ts"
],
"assets": [
"src/favicon-16x16.png",
"src/favicon-32x32.png",
"src/web.config",
"src/assets",
{
"glob": "_redirects",
"input": "src",
"output": "/"
}
],
"stylePreprocessorOptions": {
"includePaths": [
"src/@fuse/styles"
]
},
"styles": [
"node_modules/@fortawesome/fontawesome-free/css/all.min.css",
"node_modules/angular-calendar/css/angular-calendar.css",
"node_modules/flatpickr/dist/flatpickr.css",
"node_modules/slick-carousel/slick/slick.css",
"node_modules/slick-carousel/slick/slick-theme.css",
"src/@fuse/styles/tailwind.scss",
"src/@fuse/styles/themes.scss",
"src/styles/vendors.scss",
"src/@fuse/styles/main.scss",
"src/styles/styles.scss",
"src/styles/tailwind.scss"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/slick-carousel/slick/slick.min.js"
]
},
"configurations": {
"production": {
"customWebpackConfig": {
"path": "webpack.config.js"
},
"outputPath": "dist/production",
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"budgets": [
{
"type": "initial",
"maximumWarning": "3mb",
"maximumError": "10mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "75kb",
"maximumError": "90kb"
}
],
"outputHashing": "all",
"sourceMap": false
},
"staging": {
"outputPath": "dist/staging",
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.staging.ts"
}
],
"budgets": [
{
"type": "initial",
"maximumWarning": "3mb",
"maximumError": "10mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "75kb",
"maximumError": "90kb"
}
],
"outputHashing": "all",
"sourceMap": false
},
"development": {
"buildOptimizer": true,
"optimization": true,
"vendorChunk": true,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-builders/custom-webpack:dev-server",
"options": {
"browserTarget": "fuse:build"
},
"configurations": {
"production": {
"browserTarget": "fuse:build:production"
},
"development": {
"browserTarget": "fuse:build:development",
"hmr": true
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "fuse:build"
}
},
< /code>
cailwind.config.js:
const path = require("path");
const colors = require("tailwindcss/colors");
const defaultTheme = require("tailwindcss/defaultTheme");
const generatePalette = require(path.resolve(
__dirname,
"src/@fuse/tailwind/utils/generate-palette"
));
/**
* Custom palettes
*
* Uses the generatePalette helper method to generate
* Tailwind-like color palettes automatically
*/
const customPalettes = {
brand: generatePalette("#2196F3"),
};
/**
* Themes
*/
const themes = {
// Default theme is required for theming system to work correctly!
default: {
primary: {
...colors.indigo,
DEFAULT: colors.indigo[600],
},
accent: {
...colors.slate,
DEFAULT: colors.slate[800],
},
warn: {
...colors.red,
DEFAULT: colors.red[600],
},
"on-warn": {
500: colors.red["50"],
},
},
// Rest of the themes will use the 'default' as the base
// theme and will extend it with their given configuration.
brand: {
primary: customPalettes.brand,
},
teal: {
primary: {
...colors.teal,
DEFAULT: colors.teal[600],
},
},
rose: {
primary: colors.rose,
},
purple: {
primary: {
...colors.purple,
DEFAULT: colors.purple[600],
},
},
amber: {
primary: colors.amber,
},
};
/**
* Tailwind configuration
*/
const config = {
darkMode: "class",
content: ["./src/**/*.{html,scss,ts}", "./node_modules/flowbite/**/*.js"],
important: true,
theme: {
fontSize: {
xs: "0.625rem",
sm: "0.75rem",
md: "0.8125rem",
base: "0.875rem",
lg: "1rem",
xl: "1.125rem",
"2xl": "1.25rem",
"3xl": "1.5rem",
"4xl": "2rem",
"5xl": "2.25rem",
"6xl": "2.5rem",
"7xl": "3rem",
"8xl": "4rem",
"9xl": "6rem",
"10xl": "8rem",
},
screens: {
sm: "600px",
md: "960px",
lg: "1280px",
xl: "1440px",
},
extend: {
gridTemplateColumns: {
'5': 'repeat(5, minmax(0, 1fr))',
},
animation: {
"spin-slow": "spin 3s linear infinite",
},
colors: {
gray: colors.slate,
'chat-message-blue': '#57E6FF',
'primary-color': '#3C9ECF',
'secondary-color': '#e3f4fb',
'orange-color': '#ff8600',
'title-color': '#90D5F7'
},
flex: {
0: "0 0 auto",
},
fontFamily: {
sans: `"Inter var", ${defaultTheme.fontFamily.sans.join(",")}`,
mono: `"IBM Plex Mono", ${defaultTheme.fontFamily.mono.join(
","
)}`,
},
opacity: {
12: "0.12",
38: "0.38",
87: "0.87",
},
rotate: {
"-270": "270deg",
15: "15deg",
30: "30deg",
60: "60deg",
270: "270deg",
},
scale: {
"-1": "-1",
},
zIndex: {
"-1": -1,
49: 49,
60: 60,
70: 70,
80: 80,
90: 90,
99: 99,
999: 999,
9999: 9999,
99999: 99999,
},
spacing: {
13: "3.25rem",
15: "3.75rem",
18: "4.5rem",
22: "5.5rem",
26: "6.5rem",
30: "7.5rem",
50: "12.5rem",
90: "22.5rem",
// Bigger values
100: "25rem",
120: "30rem",
128: "32rem",
140: "35rem",
160: "40rem",
180: "45rem",
192: "48rem",
200: "50rem",
240: "60rem",
256: "64rem",
280: "70rem",
320: "80rem",
360: "90rem",
400: "100rem",
480: "120rem",
// Fractional values
"1/2": "50%",
"1/3": "33.333333%",
"2/3": "66.666667%",
"1/4": "25%",
"2/4": "50%",
"3/4": "75%",
},
minHeight: ({ theme }) => ({
...theme("spacing"),
}),
maxHeight: {
none: "none",
},
minWidth: ({ theme }) => ({
...theme("spacing"),
screen: "100vw",
}),
maxWidth: ({ theme }) => ({
...theme("spacing"),
screen: "100vw",
}),
transitionDuration: {
400: "400ms",
},
transitionTimingFunction: {
drawer: "cubic-bezier(0.25, 0.8, 0.25, 1)",
},
// @tailwindcss/typography
typography: ({ theme }) => ({
DEFAULT: {
css: {
color: "var(--fuse-text-default)",
'[class~="lead"]': {
color: "var(--fuse-text-secondary)",
},
a: {
color: "var(--fuse-primary-500)",
},
strong: {
color: "var(--fuse-text-default)",
},
"ol > li::before": {
color: "var(--fuse-text-secondary)",
},
"ul > li::before": {
backgroundColor: "var(--fuse-text-hint)",
},
hr: {
borderColor: "var(--fuse-border)",
},
blockquote: {
color: "var(--fuse-text-default)",
borderLeftColor: "var(--fuse-border)",
},
h1: {
color: "var(--fuse-text-default)",
},
h2: {
color: "var(--fuse-text-default)",
},
h3: {
color: "var(--fuse-text-default)",
},
h4: {
color: "var(--fuse-text-default)",
},
"figure figcaption": {
color: "var(--fuse-text-secondary)",
},
code: {
color: "var(--fuse-text-default)",
fontWeight: "500",
},
"a code": {
color: "var(--fuse-primary)",
},
pre: {
color: theme("colors.white"),
backgroundColor: theme("colors.gray.800"),
},
thead: {
color: "var(--fuse-text-default)",
borderBottomColor: "var(--fuse-border)",
},
"tbody tr": {
borderBottomColor: "var(--fuse-border)",
},
'ol[type="A" s]': false,
'ol[type="a" s]': false,
'ol[type="I" s]': false,
'ol[type="i" s]': false,
},
},
sm: {
css: {
code: {
fontSize: "1em",
},
pre: {
fontSize: "1em",
},
table: {
fontSize: "1em",
},
},
},
}),
},
},
corePlugins: {
appearance: false,
container: false,
float: false,
clear: false,
placeholderColor: false,
placeholderOpacity: false,
verticalAlign: false,
},
plugins: [
// Fuse - Tailwind plugins
require(path.resolve(
__dirname,
"src/@fuse/tailwind/plugins/utilities"
)),
require(path.resolve(
__dirname,
"src/@fuse/tailwind/plugins/icon-size"
)),
require(path.resolve(__dirname, "src/@fuse/tailwind/plugins/theming"))({
themes,
}),
require("flowbite/plugin"),
// Other third party and/or custom plugins
require("@tailwindcss/typography")({ modifiers: ["sm", "lg"] }),
require("@tailwindcss/line-clamp"),
],
};
module.exports = config;< /code>
< /div>
< /div>
< /p>
package.json:
Подробнее здесь: [url]https://stackoverflow.com/questions/79712027/angular-15-ng-serve-builds-app-very-slowly-every-change-is-very-slow[/url]