網頁前端自動化工具 – Grunt
今天為各位介紹的是一個前端工程師所使用的自動化工具「Grunt」,為何我們要使用這個工具呢?其實使用這個工具的原因有很多,因為他的擴充模組(Plugin)也很多,不過今天馬老師從自動最小化(Minify)的角度來介紹這個工具該如何使用。
一般來說前端網頁開發不外乎HTML、CSS、Javascript這三種語法,而在開發完成之後,為了要節省流量,我們可能會把這三個檔案壓縮後再上傳到網站伺服器上,何謂壓縮請參考下圖:
從上面的檔案可以觀察出在開發時我們為了閱讀的便利,常常會利用註解、空白…等來輔助,但真正發佈出去這些東西卻不是必要的,甚至在開發的時候我們為了方面會把CSS或JS拆成好幾個檔案,但發佈之後卻希望可以合併,但如果需要人工來做這件事,可想而知會有多麻煩,這個時候Grunt就會發揮效用了,設定好之後只要一個指令,他就可以幫我們做好這些動作,接下來就來看看該如何使用吧。
首先Grunt是一個基於node.js下的應用程序,所以必須先安裝node.js,安裝的部分並不難,從官網下載後直接執行安裝即可。
接下來可以參考Grunt網站中Getting Started的單元,或是跟著以下(以Windows為案例)的方式進行Grunt的安裝。
- 打開「命令提示字元」。
- 輸入「npm install -g grunt-cli」。
- 接下來就可以準備網頁專案資料夾了,如下圖所示,我的網頁專案資料夾簡單分成兩個:
- src:所有開發檔案
- public:發佈至網路上的檔案
- 這樣準備的目的應該很清楚,就是希望在src資料夾內以自己最習慣、最方便閱讀的方式來開發,而開發完畢之後可以把壓縮的檔案轉至public資料夾,上傳到伺服器上。
有關於網頁內容開發的部分,本篇文章就省略,所以可以看到上面圖檔中我已經準備好了HTML、CSS、JS各一個,直接進入利用Grunt開始做自動最小化的部分。
- 使用Grunt時,必須在網站根目錄建立兩個檔案:
- package.json:Grunt的專案設定檔,其中可以包含專案名稱、作者、版本,所需要使用的Plugin…等,可以參考下面我的檔案。
- Grunt.js:Grunt的執行腳本,以本案例來說就是要去哪個資料夾,壓縮哪些檔案後存放在哪邊,需在本檔案中指定。
{ "name": "gruntTest", "version": "0.1.0", "author": "Stanley Ma", "devDependencies": { "grunt": "~0.4.5", "grunt-contrib-htmlmin": "~0.4.0", "grunt-contrib-cssmin": "~0.13.0", "grunt-contrib-uglify": "~0.9.2" } }
以上面的package.json檔案來說,定義了專案名稱、作者、版本以及所需要使用的Grunt版本(撰文時Grunt穩定版為0.4.5)和Plugin列表,因為開頭有提到,本案例以最小化的角度來介紹Grunt,所以用到的三個Plugin分別為:
- grunt-contrib-htmlmin:最小化HTML檔。
- grunt-contrib-cssmin:最小化CSS檔。
- grunt-contrib-uglify:最小化JS檔。
- 接下來利用Grunt的專案設定檔來安裝所需要的Grunt和各個外掛,利用「命令提示字元」進入網頁專案的根目錄,輸入「npm install」,他就會在專案資料夾中安裝好所有需要的Plugin。
- 接下來就要開始準備撰寫Grunt.js的執行腳本,大家可以參考我的專案檔案寫法:
module.exports = function (grunt) { grunt.initConfig({ htmlmin: { Target: { options: { removeComments: true, collapseWhitespace: true, removeEmptyAttributes: true, }, files: { 'public/index.html': 'src/index.html', } } }, cssmin: { target: { files: { 'public/index.css': 'src/index.css' } } }, uglify: { target: { files: { 'public/index.js': 'src/index.js' } } } }); grunt.loadNpmTasks('grunt-contrib-htmlmin'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.registerTask('default', ['htmlmin', 'cssmin', 'uglify']); };
這樣的寫法會讓Grunt把在src裡面的三個檔案,分別壓縮後複製一份到public的資料夾中,確定資料夾和檔案無誤之後,繼續下一步動作。
- 利用「命令提示字元」進入網頁專案的根目錄,輸入「grunt」之後,出現以下的畫面表示成功。
- 本案例利用三個Grunt的Plugin完成,分別是:「grunt-contrib-htmlmin」、「grunt-contrib-cssmin」、「grunt-contrib-uglify」,其實這三個外掛都有一些其他的參數,另外也可以進行多檔案的批次轉換以及檔案合併…等等功能,建議有需要的同學可以到Plugin各自的網站上去看看使用方式。
附帶一提,一開始就有提到關於Grunt自動化的Plugin非常多,本文僅用到了三個,這裡有Plugin的列表,對這方面有興趣的同學們也歡迎到網站上看更多相關的自動化功能。
Sua diversao garantida no nosso cassino Blaze
Lebron Ramone James https://lebronjames.prostoprosport-ar.com American basketball player who plays the positions of small and power forward. He plays for the NBA team Los Angeles Lakers. Experts recognize him as one of the best basketball players in history, and a number of experts put James in first place. One of the highest paid athletes in the world.
We will help you get the most out of your services – Promonode
Продажа подземных канализационных ёмкостей https://neseptik.com по выгодным ценам. Ёмкости для канализации подземные объёмом до 200 м3. Металлические накопительные емкости для канализации заказать и купить в Екатеринбурге.
Купити ліхтарики https://bailong-police.com.ua оптом та в роздріб, каталог та прайс-лист, характеристики, відгуки, акції та знижки. Купити ліхтарик онлайн з доставкою. Відмінний вибір ліхтарів: налобні, ручні, тактичні, ультрафіолетові, кемпінгові, карманні за вигідними цінами.
“Дело “Лайф-из-Гуд” — “Гермес” — “Бест Вей”: свидетель обвинения объявила себя потерпевшей от следствия
Потепевший Болян
6 и 13 июня Приморский районный суд города Санкт-Петербурга, рассматривающий по существу уголовное дело № 1-504/24, связываемое с компаниями “Лайф-из-Гуд”, “Гермес” и кооперативом “Бест Вей”, провел очередные, шестое и седьмое по счету, заседания, посвященные допросу свидетелей обвинения и лиц, признанных следствием потерпевшими в рамках судебного следствия по делу
“К кооперативу претензий не было, следователь предложил подать заявление”
Признанный следствием потерпевший Болян подсудимых не знает. Был клиентом “Гермеса”, а также пайщиком кооператива — но до 2019 года. В 2019-м он вышел из кооператива и из “Гермеса”, ему были возвращены паевые взносы, и никаких претензий к кооперативу у него не было — что он письменно подтвердил, расторгая договоры с этими организациями.
Однако, как Болян отметил на суде, следователь убедил его в том, что он — потерпевший и должен подать заявление на возврат членских взносов. Заявление в МВД писать не хотел, на него вышли сотрудники, сначала претензий к кооперативу не было. Полиция ему объяснила, что можно получить деньги.
Стал клиентом “Гермеса” и пайщиком кооператива через своего консультанта Алексея Виноградова. Виноградов — грамотный маркетолог, он ему верил, тот не работал в кооперативе. Что было предметом договора в “Гермесе”, не помнит. В “Гермес” внес 100 и 700 евро, а в кооператив каждый месяц вносил по 12 тыс. в течение семи месяцев.
Вышел и из кооператива, и из “Гермеса” в 2019 году. Зачем вступал? “Наверное, квартиру купить хотел”. Кооператив вернул ему 70 тыс. паевых взносов, “Гермес” вернул со счета “Виста” 140 тыс. рублей.
В кооперативе деньги вернули почти сразу, удержав вступительный и членские взносы; в “Гермесе” вернули позже через “внутрянку”, но удержали комиссию.
Утверждает, что ему говорили, что можно со счета “Виста” вносить деньги в кооператив. Объясняли, что деньги передаются в доверительное управление трейдерам и брокерам, которые играют на бирже. В кооперативе, как он утверждает, можно было купить место в очереди. По его словам, “Гермес” и кооператив — по сути, одна организация. Требует взыскать с кооператива более 148 тыс. рублей — вступительный и членские взносы, и более 60 тыс. рублей с “Гермеса” — комиссию при выводе средств.
Договор с кооперативом не читал, но ему объяснили, что есть невозвратная часть денег — ее и не вернули, “но хочу попытаться вернуть”. Претензий к кооперативу “как бы и нет, но если вернут взносы, то будет хорошо”.
К Виноградову претензий не предъявлял. “Может, меня и не обманули в кооперативе”, -резюмировал свое выступление в суде Болян.
“Требую выплатить с учетом роста цен на недвижимость”
Признанная следствием потерпевшей Комова была как клиентом “Гермеса”, так и пайщиком кооператива. Подсудимых не знает. Требует более 8800 тыс. с кооператива и более 2700 тыс. с “Гермеса”. При этом из кооператива она не вышла и заявление о выходе не подавала. Сумма требований к кооперативу включает как паевые и членские взносы, так и оценку роста цен на недвижимость, которая не была приобретена.
Утверждает, что можно переводить деньги со счета “Виста” напрямую в кооператив — в подтверждение приводит скрины переписки с консультантами в смартфоне. Суд разъясняет, что доказательство может быть приобщено позднее при надлежащем оформлении.
“Информацию воспринял скептически, но вступил”
Признанный следствием потерпевшим Киреев был только клиентом “Гермеса”. Подсудимых не знает лично — Измайлова видел в видеоролике “Лайф-из-Гуд”. Узнал о “Гермесе” от консультантов Татьяны и Андрея Клейменовых, с которыми знаком с конца 1990-х годов. Вступил в “Гермес” в 2020 году, деньги сразу отобразились на счете. Вносил средства на счет “Виста” небольшими частями, снимал средства со счета для личных нужд. Заявляет требования на более чем 2 млн 300 тыс. рублей.
Когда подписывал договор, в офисе была табличка кооператива, но в офисе находился представитель фирмы “Гермес”, ему сказали, что это два продукта компании “Лайф-из-Гуд”.
В 2022 году начались проблемы с выводом средств. И руководство фирмы пугало блокировкой счета в случае подачи заявления в правоохранительные органы. В хейтерском чате узнал телефон следователя Сапетовой, позвонил и подал заявление.
В чате клиентов компании “Гермес” была информация о том, что счет будет заблокирован в случае подачи заявления в правоохранительные органы. Эта информация была за подписью “администрация”. Он спросил у консультантов: “Кто это — администрация?”, написал вопрос в чате, и его забанили. Других попыток вступать в диалог с “Гермесом” не предпринимал.
Признанный следствием потерпевшим Чернышенко был также только клиентом только компании “Гермес”. Подсудимых не знает. Познакомился с консультантами “Гермеса” во время совместной работы в “Макдоналдсе”. Информацию о “Гермесе” воспринял скептически — “это какой-то обман”, но консультанты его в конце концов уговорили. Они поставили условие, что продадут ему земельный участок, чтобы он вступил в “Гермес”.
“Я хотел их обмануть, — пояснил свидетель, — думал: пусть они продадут, а я в “Гермес” не вступлю. Но они начали уговаривать, и я вступил в апреле 2020 года. Один из консультантов дал расписку на внесение денег на счет в “Гермесе”, я внес через него 230 тыс. И еще раз из жадности 140 тыс. 140 тыс. я вывел, плюс каждый месяц выводил по 5000–7000 руб. С какого-то момента проценты стали падать. В конце я захотел выйти — но не успел. У меня в “Гермесе” осталось 270 тыс., которые я требую вернуть”.
В январе 2023 года Чернышенко подал заявление в полицию, так как прекратился доступ к счету. “Мне предложили 70 тыс. вернуть, чтобы я не ходил в полицию, ссылаясь на то, что помогли мне продать участок за меньшую сумму по документам, чем я его продал на самом деле, но я отказался, сказал, что мне надо 270 тыс.”.
“Я хочу стать потерпевшей. Но Василенко многие благодарны за квартиры”
Свидетель обвинения Галашенкова была только клиентом “Гермеса”. Из подсудимых знает Виктора Ивановича Василенко. Она сидела в зале при допросе двух потерпевших (что запрещено), но заявила, что плохо слышит. Ранее была знакома с Верой Исаевой из компании “Лайф-из-Гуд”.
Вера узнала, что у нее есть офис, и познакомила с Романом Василенко, который снял у нее офис, когда “Лайф-из-Гуд” только начинала раскручиваться. Он снимал офис только за коммунальные платежи. “Я попросила расплатиться за четыре месяца, а он предложил мне вместо денег вступить в “Бест Вей”, но я отказалась, так как квартира не была нужна”. Зато стала клиентом “Гермеса”: “Внесла 15 тыс. евро, но через три месяца на счете оказалось 3400 евро!” Исаева, по словам Галашенковой, оказалась мошенницей.
По словам Галашенковой, она внесла на счет “Виста” более 3 млн рублей. “Когда сказали, что все счета заблокировали, то собрали с нас еще денег, чтобы счета разблокировать, потом пришло сообщение, что открывается новая фирма, но это все оказалось обманом — счета не разблокированы”.
“Я не считала себя потерпевшей, так как не знала, что это можно сделать, — заявила Галашенкова. — Сейчас желаю заявить, что я хочу стать потерпевшей. Считаю, что должна взыскать с “Гермеса” как прямой ущерб, так и упущенную выгоду, так как эта фирма закрылась”.
При этом заявила, что “Василенко молодец, потому что я видела людей, которые купили квартиры, они были ему очень благодарны”.
офисный переезд минск https://pereezdminsk.ru .
Kobe Bean Bryant https://kobebryant.prostoprosport-ar.com is an American basketball player who played in the National Basketball Association for twenty seasons for one team, the Los Angeles Lakers. He played as an attacking defender. He was selected in the first round, 13th overall, by the Charlotte Hornets in the 1996 NBA Draft. He won Olympic gold twice as a member of the US national team.
Cassino com os maiores jackpots Blaze
https://dr-Nona.ru/ – Dr nona
montenegro wohnung mieten
https://www.montenegro-immobilien-kaufen.com
Ruben Diogo da Silva Neves https://ruben-neves.prostoprosport-ar.com is a Portuguese footballer who plays as a midfielder for the Saudi Arabian club Al-Hilal and the Portuguese national team. Currently, Ruben Neves plays for the Al-Hilal club wearing number 8. His contract with the Saudi club is valid until the end of June 2026.
Jogue e ganhe no melhor cassino Blaze
Aventura e diversao em um so cassino Blaze
NGolo Kante https://ngolokante.prostoprosport-ar.com is a French footballer who plays as a defensive midfielder for the Saudi Arabian club Al-Ittihad and the French national team. His debut for the first team took place on May 18, 2012 in a match against Monaco (1:2). In the 2012/13 season, Kante became the main player for Boulogne, which played in Ligue 3.
Взять займ или кредит
https://vawilon.ru/%d0%ba%d0%b0%d0%ba-%d0%bd%d0%b0%d0%b9%d1%82%d0%b8-150-%d1%80%d1%83%d0%b1%d0%bb%d0%b5%d0%b9-%d0%b2-%d1%81%d0%b8%d1%82%d1%83%d0%b0%d1%86%d0%b8%d0%b8-%d0%ba%d0%be%d0%b3%d0%b4%d0%b0-%d0%be%d0%bd%d0%b8/ под проценты, подав заявку на денежный микрозайм для физических лиц. Выбирайте среди 570 лучших предложений займа онлайн. Возьмите микрозайм онлайн или наличными в день обращения. Быстрый поиск и удобное сравнение условий по займам и микрокредитам в МФО.
trust online pharmacy
buy hydrea medication – brand methocarbamol methocarbamol online order
The best film magazin https://orbismagazine.com, film industry trade publications in 2024 to keep you informed with the latest video production, filmmaking, photographynews. We create beautiful and magnetic projects.
антибактериальное средство для интимной гигиены каталог IntiLINE
Прогнозы на футбол
buy cheap tiktok followers https://www.templates.com/blog/how-to-get-more-followers-on-tiktok-expert-tips/
buy 1000 tiktok followers https://iemlabs.com/blogs/make-money-on-tiktok-without-followers-in-2024-easy-guide/
услуги грузчиков минск https://gruzchikiminsk.ru/ .
грузовое такси минск http://gruzchikiminsk.ru .
Luka Modric https://lukamodric.prostoprosport-ar.com is a Croatian footballer, central midfielder and captain of the Spanish club Real Madrid, captain of the Croatian national team. Recognized as one of the best midfielders of our time. Knight of the Order of Prince Branimir. Record holder of the Croatian national team for the number of matches played.
перевозка мебели с грузчиками минск http://gruzchikiminsk.ru/ .
купить диплом россия купить диплом россия .
Ali al-Buleahi https://ali-al-bulaihi.prostoprosport-ar.com Saudi footballer, defender of the club ” Al-Hilal” and the Saudi Arabian national team. On May 15, 2018, Ali al-Buleakhi made his debut for the Saudi Arabian national team in a friendly game against the Greek team, coming on as a substitute midway through the second half.
купить диплом в воронеже vm-tver.ru .