serii81
@serii81
Я люблю phр...

Как заставить phpstorm загрузить css файлы на хостинг сразу после scss?

Добрый день.
В phpstorm стоит Upload change automaicaly - Always.

Запускаю gulp через task manager в редакторе.
Меняю scss, меня фокус шторма на что что-то другое и пушится scss файл на сервер, но не css. Если опять меня фокус во второй раз, то пушится и css файл.

То есть, после изменения scss файла, мне нужно дважды менять фокус редактора, чтобы css файл сохранился и уходил на сервер.

"use strict";
const gulp = require("gulp");
const webpack = require("webpack-stream");
const sass = require('gulp-sass');
const autoprefixer = require("gulp-autoprefixer");
const sourcemaps = require('gulp-sourcemaps');
const plumber = require("gulp-plumber");
const wait = require('gulp-wait'), notify = require("gulp-notify");
const browserSync = require("browser-sync");
let isDev = true;
let webpackConfig = {
	output: {
		filename: "webpack.js"
	},
	watch: false,
	module: {
		rules: [
			{
				test: /\.m?js$/,
				exclude: /(node_modules|bower_components)/,
				use: {
					loader: 'babel-loader',
					options: {
						presets: [['@babel/preset-env', {
							debug: true,
							corejs: 3,
							useBuiltIns: "usage"
						}]]
					}
				}
			}
		]
	},
	mode: isDev ? 'development' : 'production',
	devtool: isDev ? 'eval-source-map' : 'none',
};
gulp.task('webpack', function () {
	return gulp.src('assets/js/src/main.js')
		.pipe(webpack(webpackConfig))
		.pipe(gulp.dest('assets/js/dist/'))
		.pipe(browserSync.reload({
			stream: true
		}));
});
gulp.task("scss", function () {
	return gulp.src('assets/scss/my.scss')
		.pipe(plumber())
		.pipe(sourcemaps.init())
		.pipe(wait(500))
		.pipe(sass().on('error', notify.onError(function (error) {
			return 'An error occurred while compiling sass.\nLook in the console for details.\n' + error;
		})))
		.pipe(autoprefixer({
			cascade: false
		}))
		.pipe(sourcemaps.write('.'))
		.pipe(gulp.dest('assets/css/'))
		.pipe(browserSync.reload({stream: true}));
});
gulp.task("watch", function () {
	gulp.watch('assets/scss/**/*.scss', gulp.series('scss'));
	gulp.watch('assets/js/src/**/*.js', gulp.series('webpack'));
});
gulp.task('browser-sync', function () {
	browserSync.init({
		proxy: {
			target: 'http://wc-base-ecommerce.host1670806.hostland.pro/',
			ws: true
		},
		reloadDelay: 2000,
		notify: true
	});
	// browserSync.init({
	// 	server: {
	// 		baseDir: siteDir
	// 	},
	// 	notify: true
	// });
	gulp.watch("**/*.html").on('change', browserSync.reload);
	gulp.watch("**/*.php").on('change', browserSync.reload);
	gulp.watch("**/*.css").on('change', browserSync.reload);
	gulp.watch("**/*.js").on('change', browserSync.reload);
});
// gulp.task('default', gulp.series('browser-sync'));
// gulp.task('default', gulp.parallel('scss', 'watch', 'browser-sync'));
// gulp.task('default', gulp.parallel('watch', 'browser-sync'));
gulp.task('default', gulp.series('webpack', 'scss', gulp.parallel('watch', 'browser-sync')));


Заранее благодарен за помощь.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы