const webpackConfig = require('./webpack.config.js'); module.exports = function (grunt) { grunt.initConfig({ webpack: { options: webpackConfig, build: { } }, browserSync: { dev: { bsFiles: { src: [ 'wwwroot/css/*.css', 'wwwroot/js/app.min.js', // Webpack создает app.min.js 'Views/**/*.cshtml' ] }, options: { watchTask: true, proxy: "localhost:5000" // Замените на свой локальный адрес } } }, watch: { ts: { files: ['ScriptsAndCss/TypeScripts/**/*.ts'], tasks: ['webpack:build'], // Webpack компилирует и собирает options: { spawn: false, }, }, bsReload: { files: ['wwwroot/css/*.css', 'wwwroot/js/app.min.js', 'Views/**/*.cshtml'], options: { reload: true } } }, clean: ["wwwroot/css/*", "wwwroot/js/*", "ScriptsAndCss/Combined/*"], cssmin: { //сжатие CSS css: { src: ["ScriptsAndCss/CssFiles/*"], //какой файл сжимать dest: "wwwroot/css/app.min.css" //сжатый выходной файл } }, }); grunt.loadNpmTasks('grunt-webpack'); grunt.loadNpmTasks('grunt-browser-sync'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.registerTask("build", ["clean", "webpack:build", "cssmin"]); grunt.registerTask("default", ["build", "browserSync:dev", "watch"]); };