Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Intro to Grunt.js (Norwegian)
Search
Hans Kristian Flaatten
January 12, 2015
Technology
0
37
Intro to Grunt.js (Norwegian)
Introduction to Grunt.js build manager.
Hans Kristian Flaatten
January 12, 2015
Tweet
Share
More Decks by Hans Kristian Flaatten
See All by Hans Kristian Flaatten
Continuous Deployment with Jenkins Pipelines
starefossen
0
52
Continuous Integrations with Jenkins
starefossen
0
64
Testing Node.js
starefossen
0
28
What is Node.js?
starefossen
0
39
LeftPad Not Found
starefossen
0
84
Whats New In EcmaScript 2015 / ES6
starefossen
0
69
Experience with NoSQL at the Norwegian Trekking Asocciation
starefossen
0
38
Introduction to Geospatial Queries in MongoDB
starefossen
0
31
Åpen Tur- og Friluftsdata
starefossen
0
99
Other Decks in Technology
See All in Technology
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
220
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
470
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
11
4.4k
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
110
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
410
Obsidian応用活用術
onikun94
1
430
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
150
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
210
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.3k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.5k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Docker and Python
trallard
45
3.5k
The Invisible Side of Design
smashingmag
301
51k
Statistics for Hackers
jakevdp
799
220k
GitHub's CSS Performance
jonrohan
1032
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Transcript
Hans Kristian Flaatten – @starefossen
None
HVA ER GRUNT? • Enkel automatisering av oppgaver • Sammenslåing
og komprimering • Testing og linting • Kompilering osv. • Skrevet i v8 JavaScript (aka. Node.JS)
HVORFOR GRUNT? • Stabilt og veletablert • Enkelt å sette
opp – enkelt å kjøre • Rikt økosystem med «støtte for det meste»
None
INSTALLER $ npm install grunt grunt-cli $ npm install grunt-contrib-jshint
$ npm install grunt-contrib-foo
KONFIGURER module.exports = function(grunt) { ! // Project configuration. grunt.initConfig({
jshit: { options: { curly: true, eqeqeq: true, eqnull: true, }, files: [ 'Gruntfile.js', 'src/**/*.js', ] } }); ! // Load the plugin that provides the "jshint" task. grunt.loadNpmTasks('grunt-contrib-jshint'); ! // Default task(s). grunt.registerTask('default', ['jshint']); ! };
PROFIT $ grunt jshint > Running "jshint:files" (jshint) task app.js
6 | process(card) ^ Missing semicolon.
LESS less: { compile: { options: { modifyVars: { imgPath:
'"https://aws-s3..."' } }, ! files: { "less/app.less": "css/app.css" } } }
FILE WATCHER watch: { js: { files: ['js/**/*.js'], tasks: ['compile:js']
}, less: { files: ['less/**/*.less'], tasks: ['compile:less'] } }
DEMO
OG MANGE FLER... • grunt-contrib-imagemin • grunt-contrib-cssmin • grunt-contrib-csslint •
grunt-contrib-concat • grunt-s3 • grunt-pylint • grunt-ssh-deploy • gruntjs.com/plugins
ALTERNATIVER Gulp Yeoman Broccoli.js
None
Never gonna give you up Never gonna let you down
Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you