Дмитрий Швалёв (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 gulp
npm install gulp --save-dev
touch Gulpfile.js
gulp
'use strict'; var gulp = require('gulp'); gulp.task('default', function() { console.log('default task'); });
npm install gulp-less --save-dev
npm install gulp-rename --save-dev
var 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-dev
npm install gulp-csso --save-dev
npm install gulp-load-plugins --save-dev
var 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.watch
gulp.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-dev
npm install serve-static --save-dev
npm install connect-livereload --save-dev
npm install gulp-livereload --save-dev
gulp.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); }); });