Дмитрий Швалёв (Ingenius Systems, 2014)
Дмитрий Швалёв (Ingenius Systems, 2014)
npm init
npm install <имя_пакета>
npm i <имя_пакета> - сокращенный вариант
-g - флаг устанавки пакета глобально (для вызова из командной строки)--save - ключ сохранения имени пакета в секцию dependencies файла package.json--save-dev - ключ сохранения имени пакета в секцию devDependencies файла package.jsonnpm install
npm i - сокращенный вариант
При этом устанавливаются пакеты прописанные в секциях dependencies и в devDependencies
npm install --production
npm i --production - сокращенный вариант
Пакеты из секции devDependencies установлены не будут
sudo npm install -g gulpnpm install gulp --save-devtouch Gulpfile.js
gulp
'use strict'; var gulp = require('gulp'); gulp.task('default', function() { console.log('default task'); });
npm install gulp-less --save-devnpm install gulp-rename --save-devvar gulp = require('gulp'), rename = require('gulp-rename'), less = require('gulp-less'); gulp.task('buildcss', function() { return gulp.src('./styles.less') .pipe(less()) .pipe(rename('styles.css')) .pipe(gulp.dest('./')); }); gulp.task('default', ['buildcss']);
npm install gulp-autoprefixer --save-devnpm install gulp-csso --save-devnpm install gulp-load-plugins --save-devvar gulp = require('gulp'), plugins = require('gulp-load-plugins')(); gulp.task('buildcss', function() { return gulp.src('./styles.less') .pipe(plugins.less()) .pipe(plugins.autoprefixer( ['last 3 versions', 'ie 10', 'opera 12'] )) .pipe(plugins.csso()) .pipe(plugins.rename('styles.min.css')) .pipe(gulp.dest('./app/styles')); }); gulp.task('default', ['buildcss']);
'*.js' - любое имя файла'filename.*' - любое расширение'/*/filename.js' - любой каталог'/**/*.js' - любой вложенный каталог'/{foo,bar}/*.js' - каталог foo или bar'/fonts/*.{ttf,svg,woff}' - файл ttf, svg или woff['filename.*', '!*.css'] - любое расширение кроме cssgulp watch
gulp.task('watch', function() { gulp.watch(['*.less'], ['buildcss']); });
gulp.watchgulp.task('buildcss', function() { return gulp.src('./styles.less') .pipe(plugins.less()) .on('error', function(error) { console.log(error); this.end(); }) .pipe(plugins.autoprefixer( ['last 3 versions', 'ie 10', 'opera 12'] )) .pipe(plugins.csso()) .pipe(plugins.rename('styles.min.css')) .pipe(gulp.dest('./app/styles')); });
npm install connect --save-devnpm install serve-static --save-devnpm install connect-livereload --save-devnpm install gulp-livereload --save-devgulp.task('server', function(next) { var server = require('connect')(), servestatic = require('serve-static'); server.use(require('connect-livereload')({ port: 35729 })); server.use(servestatic('./app', { 'index': ['index.html', 'index.htm'] })); server.listen(3000, next); });
gulp.task('watch', ['server'], function() { var liveserver = plugins.livereload(); gulp.watch(['*.less'], ['buildcss']); gulp.watch([ './app/styles/*.css' ]).on('change', function(file) { liveserver.changed(file.path); }); });
doctype html html(lang="en") head title= pageTitle script(src='jquery.min.js') body h1 Jade - node template engine #container.col if youAreUsingJade p You are amazing else p Get on it! p. Jade is a terse and simple language with a strong focus on performance powerful features.
npm install gulp-jade --save-dev
gulp.task('template', function() { return gulp.src('./index.jade') .pipe(plugins.jade()) .on('error', function(error) { console.log(error); this.end(); }) .pipe(gulp.dest('./app')); });
gulp.task('watch', ['server'], function() { var liveserver = plugins.livereload(); gulp.watch(['*.less'], ['buildcss']); gulp.watch(['*.jade'], ['template']); gulp.watch([ './app/styles/*.css', './app/*.html' ]).on('change', function(file) { liveserver.changed(file.path); }); });