$30 off During Our Annual Pro Sale. View Details »
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
39
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
54
Continuous Integrations with Jenkins
starefossen
0
66
Testing Node.js
starefossen
0
29
What is Node.js?
starefossen
0
40
LeftPad Not Found
starefossen
0
85
Whats New In EcmaScript 2015 / ES6
starefossen
0
70
Experience with NoSQL at the Norwegian Trekking Asocciation
starefossen
0
39
Introduction to Geospatial Queries in MongoDB
starefossen
0
33
Åpen Tur- og Friluftsdata
starefossen
0
100
Other Decks in Technology
See All in Technology
【U/day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
470
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
230
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
2
130
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
400
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
370
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
12
6k
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.6k
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
310
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
530
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
130
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
220
ChatGPTで論⽂は読めるのか
spatial_ai_network
10
29k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
BBQ
matthewcrist
89
9.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building an army of robots
kneath
306
46k
RailsConf 2023
tenderlove
30
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Why Our Code Smells
bkeepers
PRO
340
57k
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