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
27
What is Node.js?
starefossen
0
39
LeftPad Not Found
starefossen
0
81
Whats New In EcmaScript 2015 / ES6
starefossen
0
67
Experience with NoSQL at the Norwegian Trekking Asocciation
starefossen
0
38
Introduction to Geospatial Queries in MongoDB
starefossen
0
30
Åpen Tur- og Friluftsdata
starefossen
0
98
Other Decks in Technology
See All in Technology
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
210
How Community Opened Global Doors
hiroramos4
PRO
1
120
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
120
解析の定理証明実践@Lean 4
dec9ue
0
180
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
rubygem開発で鍛える設計力
joker1007
2
210
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
Witchcraft for Memory
pocke
1
370
M3 Expressiveの思想に迫る
chnotchy
0
110
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
340
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
3
120
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.2k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
Why Our Code Smells
bkeepers
PRO
337
57k
Fireside Chat
paigeccino
37
3.5k
Writing Fast Ruby
sferik
628
61k
Being A Developer After 40
akosma
90
590k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Building an army of robots
kneath
306
45k
Bash Introduction
62gerente
614
210k
Building Adaptive Systems
keathley
43
2.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.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