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
33
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
34
Continuous Integrations with Jenkins
starefossen
0
48
Testing Node.js
starefossen
0
22
What is Node.js?
starefossen
0
31
LeftPad Not Found
starefossen
0
76
Whats New In EcmaScript 2015 / ES6
starefossen
0
57
Experience with NoSQL at the Norwegian Trekking Asocciation
starefossen
0
27
Introduction to Geospatial Queries in MongoDB
starefossen
0
28
Åpen Tur- og Friluftsdata
starefossen
0
81
Other Decks in Technology
See All in Technology
Apple Vision Pro trial session
akkeylab
0
120
XSS using dirty Content Type in cloud era
flatt_security
2
1k
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
210
転移学習とドメイン適応の基礎
kmatsui
2
570
Let's get started with Ruby && Rails Tips
sinsoku
0
190
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
1
2.9k
o11y入門_外形監視を利用したWebアプリケーションへの最適なモニタリング_TechBrew
k5k
2
100
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
420
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
140
次世代Web認証「パスキー」 / mo-zatsudan-passkey
nkzn
22
13k
キャラクター制御のためのプロンプト術 for LINE Bot
uezo
0
510
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
1
310
Featured
See All Featured
Docker and Python
trallard
33
2.7k
A Modern Web Designer's Workflow
chriscoyier
689
190k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
Agile that works and the tools we love
rasmusluckow
323
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
Bash Introduction
62gerente
604
210k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
How GitHub (no longer) Works
holman
304
140k
A better future with KSS
kneath
230
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
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