热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jsongulpulmart.ru

篇首语:本文由编程笔记#小编为大家整理,主要介绍了jsongulpulmart.ru相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了json gulp ulmart.ru相关的知识,希望对你有一定的参考价值。




'use strict';
var gulp = require('gulp'),
rigger = require('gulp-rigger'),
browserSync = require("browser-sync"),
reload = browserSync.reload,
sourcemaps = require('gulp-sourcemaps'),
uglify = require('gulp-uglify'),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer'),
gcmq = require('gulp-group-css-media-queries'),
cleanCSS = require('gulp-clean-css'),
imagemin = require('gulp-imagemin'),
pngquant = require('imagemin-pngquant'),
watch = require('gulp-watch'),
rename = require("gulp-rename"),
rimraf = require('rimraf');
var path = {
build: {
html: 'main/build/',
js: 'main/build/js/',
css: 'main/build/css/',
img: 'main/build/img/',
fonts: 'main/build/fonts/'
},
src: {
html: 'main/src/*.html', //Синтаксис src/*.html говорит gulp что мы хотим взять все файлы с расширением .html
js: 'main/src/js/main.js', //В стилях и скриптах нам понадобятся только main файлы
style: 'main/src/style/main.scss',
css: 'main/src/style/*.css',
img: 'main/src/img/**/*.*', //Синтаксис img/**/*.* означает - взять все файлы всех расширений из папки и из вложенных каталогов
fonts: 'main/src/fonts/**/*.*',
js_external: 'main/src/js_external/**/*.js'
},
watch: { //Тут мы укажем, за изменением каких файлов мы хотим наблюдать
html: 'main/src/**/*.html',
js: 'main/src/js/**/*.js',
style: 'main/src/style/**/*.scss',
css: 'main/src/style/*.css',
img: 'main/src/img/**/*.*',
fonts: 'main/src/fonts/**/*.*',
js_external: 'main/src/js_external/**/*.js'
},
clean: './main/build'
};
var cOnfig= {
server: {
baseDir: "./main/build"
},
tunnel: false,
host: 'localhost',
port: 9000,
logPrefix: "Frontend_Devil"
};
gulp.task('html:build', function () {
gulp.src(path.src.html) //Выберем файлы по нужному пути
.pipe(rigger()) //Прогоним через rigger
.pipe(gulp.dest(path.build.html)) //Выплюнем их в папку build
.pipe(reload({stream: true})); //И перезагрузим наш сервер для обновлений
});
gulp.task('js:build', function () {
gulp.src(path.src.js) //Найдем наш main файл
.pipe(rigger()) //Прогоним через rigger
.pipe(gulp.dest(path.build.js)) //Выплюнем готовый файл в build
.pipe(sourcemaps.init()) //Инициализируем sourcemap
.pipe(uglify()) //Сожмем наш js
.pipe(rename({suffix: ".min"}))
.pipe(sourcemaps.write('.')) //Пропишем карты
.pipe(gulp.dest(path.build.js)) //Выплюнем готовый файл в build
.pipe(reload({stream: true})); //И перезагрузим сервер
});
gulp.task('style:build', function () {
gulp.src(path.src.style) //Выберем наш main.scss
.pipe(sourcemaps.init()) //То же самое что и с js
.pipe(sass()) //Скомпилируем
.pipe(autoprefixer()) //Добавим вендорные префиксы
.pipe(gcmq())
.pipe(cleanCSS())
.pipe(sourcemaps.write('.')) //Пропишем карты
.pipe(gulp.dest(path.build.css)) //И в build
.pipe(reload({stream: true}));
});
gulp.task('image:build', function () {
gulp.src(path.src.img) //Выберем наши картинки
.pipe(imagemin({ //Сожмем их
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()],
interlaced: true
}))
.pipe(gulp.dest(path.build.img)) //И бросим в build
.pipe(reload({stream: true}));
});
gulp.task('fonts:build', function() {
gulp.src(path.src.fonts)
.pipe(gulp.dest(path.build.fonts))
});
gulp.task('js_external:build', function () {
gulp.src(path.src.js_external)
.pipe(uglify())
.pipe(gulp.dest(path.build.js))
});
gulp.task('css:build', function() {
gulp.src(path.src.css)
.pipe(cleanCSS())
.pipe(gulp.dest(path.build.css))
});
gulp.task('build', [
'html:build',
'js:build',
'style:build',
'fonts:build',
'image:build'
]);
gulp.task('watch', function(){
watch([path.watch.html], function(event, cb) {
gulp.start('html:build');
});
watch([path.watch.style], function(event, cb) {
gulp.start('style:build');
});
watch([path.watch.js], function(event, cb) {
gulp.start('js:build');
});
watch([path.watch.img], function(event, cb) {
gulp.start('image:build');
});
watch([path.watch.fonts], function(event, cb) {
gulp.start('fonts:build');
});
watch([path.watch.js_external], function(event, cb) {
gulp.start('js_external:build');
});
watch([path.watch.css], function(event, cb) {
gulp.start('css:build');
});
});
gulp.task('webserver', function () {
browserSync(config);
});
gulp.task('clean', function (cb) {
rimraf(path.clean, cb);
});
gulp.task('default', ['build', 'webserver', 'watch']);


{
"name": "ulmart.ru",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"browser-sync": "^2.18.8",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.1",
"gulp-clean-css": "^3.0.4",
"gulp-group-css-media-queries": "^1.2.0",
"gulp-imagemin": "^3.2.0",
"gulp-rename": "^1.2.2",
"gulp-rigger": "^0.5.8",
"gulp-sass": "^3.1.0",
"gulp-sourcemaps": "^2.5.0",
"gulp-uglify": "^2.1.2",
"gulp-watch": "^4.3.11",
"rimraf": "^2.6.1"
},
"dependencies": {
"imagemin-pngquant": "^5.0.0"
}
}


推荐阅读
  • socket8 [命名管道]
    ::命名管道不但能实现同一台机器上两个进程通信,还能在网络中不同机器上的两个进程之间的通信机制。与邮槽不同,命名管道是采用基于连接并且可靠的传输方式,所以命名管道传输数据只能一对一 ... [详细]
  • Vue项目结构分析-项目结构重点在src文件夹:assets——静态资源,如css,jscomponents——公共组件router——路由文件(vuecli3.x没有自 ... [详细]
  • FroggerTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:32257Accepted:10396DescriptionFr ... [详细]
  • 九宫格计算. ... [详细]
  • 前端微服务二
    为了解决庞大的一整块后端服务带来的变更与扩展方面的限制,出现了微服务架构(Microservices):微服务是面向服务架构(SOA)的一种变体,把应用程序设计成一系列松耦合的细粒 ... [详细]
  • 本文分析和介绍了GLo ... [详细]
  • 这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefinedwindow.undefined;是为了兼容低版本的IE而写的因为在低版本 ... [详细]
  • spotify engineering culture part 1
    原文,因为原视频说的太快太长,又没有字幕,于是借助youtube,把原文听&打出来了。中文版日后有时间再翻译。oneofthebigsucceessfactorshereatSpo ... [详细]
  • vscode里的html标签导航的一系列问题
    哈喽,我今天带来的经验是,vscode在18年10月更新后的1.29以后,编辑html文档时,会发现最上面有个类似于HTML标签导航的玩意儿,可能部分同学和我一样不习惯用它们,现在 ... [详细]
  • JS动态生成表格案例 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了展会&NBSP如果值空相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 作业迁移
    背景:数据库服务器更换,1、数据库迁移(BACKUPRESTORE);2、数据库登录名用户迁移(注意孤立用户);3、作业迁移数据库迁移,备份数据库、拷贝备份文件到新服务器,还原数据 ... [详细]
  • 开发笔记:python安装出现的证书问题
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了python安装出现的证书问题相关的知识,希望对你有一定的参考价值。1. pipins ... [详细]
  • 跪服!大四学生开发了一整套文言编程
    机器之心报道参与:思、Jamin用文言文写的官方编程教程《文言陰符》,类似pip那样的包管理工具「文淵閣」,还有文言编程开源IDE「文言齋 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySQL协议学习:准备工作相关的知识,希望对你有一定的参考价值。  ... [详细]
author-avatar
大帅哥晶晶_527
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有