Grunt
Grunt – task runner
taski opisane JS
Instalacja
potrzebny Node.js z dodaniem do PATH ścieżki instalacyjnej do Node,js aby korzystać w konsoli z poleceń npm
npm install -g grunt-cli – używanie poleceń grunta w konsoli Grunt CLI (command line interface) – bez tego po wpisaniu grunt w konsoli otrzymamy error „Command Not Found”
npm install -g grunt
npm install grunt –save-dev
- package.js – utworzenie za pomocą npm init – opis projektu, lista wykorzystywanych modułów Node – instalacja modułów – npm install, packages.js wskazuje dla npm co nalezy zainstalować
kroki
- instalacja Node.js
- instalacja npm
- consola – > npm install -g grunt-cli
- stworzenie pliku packages.js przez consola -> npm init i podanie parametrów projektu
- w consoli -> npm install grunt –save-dev – instaluje katalog node_modules w katalogu projektu i dodaje informacje w packages.js:
"devDependencies": { "grunt": "^1.0.1" }
- dodanie kolejnych elementów: npm install grunt-contrib-cssmin –save-dev
- tworzenie pliku konfiguracji grunt – Gruntfile.js zawsze umieszczony w katalogu root projektu wraz z plikiem packages,json
3 główne sekcje:
- grunt.initConfig – opis settingsów tasków
- grunt.loadNpmTask – ładuje te taski
- grunt.registerTask – rejestruje taski by można było wywołać je komendą, to co jest wprowadzone jak default odpalane jest przy komendzie grunt
pobranie tasków gunt -> gruntjs.com/plugins
kiedy usuniemy cały katalog node_modules ale zachowamy plik packages.js to uruchamiając komendę npm install pobieramy wszytskie zasoby
pobiera potrzebne moduły i ich zależności w katalogu node_modules
- Gruntfile.js – skrypty tasków
budowa Gruntfile.js:
module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), taskName: { //nazwa zadania options: { //opcje }, operations: { //operacje } } }); grunt.loadNpmTasks('grunt-module'); // w taki sposób ładujemy nasze moduły grunt.registerTask('default', ['taskName']); // określany jakie zadania wykonują się po wpisaniu w konsoli grunt };
generowanie plików poprzez grunt init (po instalacji szablonów)
Grunt i Grunt plugins – instalowane i zarządzane za pomocą npm (Node.js package menager)
aktualizacja npm: npm update -g npm (z sudo lub bez)
Instalacja modułów
komenda: npm instal modul-name –save-dev
–save-dev – dodanie modułu do pliku package.js w sekcji devDependencies
–save – dodanie modułu do pliku package.js w sekcji dependencies
instalujemy lokalnie grunt – npm install grunt –save-dev – pojawia się w pliku package.js
Elementy Gruntfile:
- wrapper function
- konfiguracja projektu i zadania
- ładowanie pluginów Grunt i zadań(tasków)
- custom tasks
Additional Resources
grunt wordpress:
- https://www.npmjs.com/package/grunt-wordpress
- https://www.npmjs.com/package/grunt-wordpress-deploy
- https://code.tutsplus.com/tutorials/using-grunt-with-wordpress-development–cms-21743
- https://www.wpessentials.io/2015/09/grunt-automation-for-wordpress-developers/
- https://premium.wpmudev.org/blog/grunt-for-wordpress/
- https://archetyped.com/know/grunt-for-wordpress-plugins/
- https://mattbanks.me/grunt-wordpress-development-deployments/
gulp:
npm run gulpwatch instead of gulp watch
npm run gulpstyles instead of gulp styles
npm run gulpscripts instead of gulp scripts
Hope this helps and happy coding :)