využití nodejs pro javisty - jopenspace 2014

19
www.fg.cz Využití NodeJS pro Javisty Michal Franc

Upload: michal-franc

Post on 13-Apr-2017

378 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Využití NodeJS pro Javisty - jOpenSpace 2014

www.fg.cz

Využití NodeJS pro JavistyMichal Franc

Page 2: Využití NodeJS pro Javisty - jOpenSpace 2014

2

Page 3: Využití NodeJS pro Javisty - jOpenSpace 2014

3

Page 4: Využití NodeJS pro Javisty - jOpenSpace 2014

4

Page 5: Využití NodeJS pro Javisty - jOpenSpace 2014

5

TESTsnadná instalace

množství test runnerů / frameworků / assert

Page 6: Využití NodeJS pro Javisty - jOpenSpace 2014

6

var request = require('supertest'); var base = require('../base.js'); request = request(base.baseUrl); describe('úložiště obrázky', function() { it('poskytuje uložený obsah dle uri', function(done) { request .get('/storage/pictures/logo.jpg‚) .auth(base.user,base.pass) .expect('Content-Type', /image/) .expect('Cache-Control', /600/) .expect(200, done); })});

Page 7: Využití NodeJS pro Javisty - jOpenSpace 2014

7

var request = require('supertest'); var base = require('../base.js');var cheerio = require('cheerio'); var should = require('should');request = request(base.baseUrl);

describe('Úvodní stránka', function() { before(function(done) { request.get('/homepage.html').auth(base.user,base.pass) .end(function(err, res) { if (err) return done(err); this.doc = cheerio.load(res.text); done(); }.bind(this)); }); it('obsahuje zprávy za 1-10dní', function() { this.doc('#middle').find('.one-day-line').length .should.within(1,10); });});

Page 8: Využití NodeJS pro Javisty - jOpenSpace 2014

8

CLIintegrace do command line

Page 9: Využití NodeJS pro Javisty - jOpenSpace 2014

9

> npm install –g yo

> sudo npm install -g [email protected]

Page 10: Využití NodeJS pro Javisty - jOpenSpace 2014

10

Yeoman – YOproject scaffolding

Page 11: Využití NodeJS pro Javisty - jOpenSpace 2014

11

Page 12: Využití NodeJS pro Javisty - jOpenSpace 2014

12

• Založení projektu – edeecms generátor• Načte developer settings• Provede git pull kostry projektu• Zeptá se na vlastnosti projektu, výběr modulů• Dle výběru zkopíruje složky z kostry• Vygeneruje heslo do db• Založí databázi• Stáhne základní závislosti pro další provoz

• Modifikace projektu – subgenerátor• Přidání modulu• Založení databáze

Page 13: Využití NodeJS pro Javisty - jOpenSpace 2014

13

Page 14: Využití NodeJS pro Javisty - jOpenSpace 2014

14

Grunttask runner

buildování js, css

Page 15: Využití NodeJS pro Javisty - jOpenSpace 2014

15

> grunt server

Page 16: Využití NodeJS pro Javisty - jOpenSpace 2014

16

> grunt deployWar

Page 17: Využití NodeJS pro Javisty - jOpenSpace 2014

17

> grunt deployWar

sshexec: { deployWar: { command: [ 'cd <%= projectRoot %>/<%= warRoot %>', 'mv ./<%= expandedWar %>'+ ' ./backup/<%= expandedWar %>'+ '<%= grunt.template.today("yyyymmdd-HHMMss") %>', 'rm -rf ./<%= expandedWar %>/', 'unzip -o ./<%= warFile %>'+ ' -d ./<%= expandedWar %>', 'rm ./<%= warFile %>', 'find ./backup/ -maxdepth 1 -ctime +3 | xargs rm -rf' ].join(' && '), options: { config: 'sshsettings' }}}

Page 18: Využití NodeJS pro Javisty - jOpenSpace 2014

18

NodeJS – npmMocha (Jasmine)YeomanBowerGrunt (Gulp)

Page 19: Využití NodeJS pro Javisty - jOpenSpace 2014

19

Proč?