A. 一般程序員做前端代碼開發時用什麼工具寫代碼
初期 dreamweaver
後期 atom webstrom(占內存,但功能強) sublime
B. 自己是學java的,現在想寫前端代碼的話用哪個軟體比較好
1、Notepad++
這個軟體就不多說了,記事本的增強版,主要應用在Windows平台下,大部分人都應該使用過,非常輕巧靈活,運行速度快,支持多窗口切換,可編輯語言也非常多,自動補全、語法提示和檢查等功能都不錯,對於前端開發入門來說,可以作為一個不錯的選擇:
2、VS Code
這個搞Web前端開發的人大部分都應該使用過,微軟開發的一個輕量級代碼編輯器,開源、免費、跨平台,插件擴展豐富,生態環境良好,支持常見的語法提示、智能補全、代碼高亮、Git等功能,運行速度快,佔用內存少,開發效率高,在前端網頁開發中,經常會使用到這個軟體,非常靈活方便。
3、Sublime Text
這也是一個非常不錯的代碼編輯器,原則是不免費的,但有對應注冊碼,所以對使用影響不大,基本功能和VS Code差不多,語法提示、自動補全、插件擴展等功能都不錯,界面簡潔、輕便靈活,運行速度也非常快,唯一不足就是配置上不是很方便,而且也存在一定版本兼容問題,但對於前端網頁開發來說,也是一個不錯的選擇。
4、HBuilder
這是國產的一個免費Web前端開發軟體,界面干凈、柔綠護眼、輕巧靈活,運行速度快,語法提示、文字處理功能強大,優先支持Markdown功能,除此之外,還自帶有雲端打包功能,可以將前端開發的網頁打包為手機APP,使用起來非常方便。
5、WebStorm
這是前端開發中一個比較專業的軟體,相比較其他軟體來說,體積比較大,功能也更復雜,常見的代碼高亮、智能補全、Git等功能,這個軟體都能很好的支持,除此之外,還支持代碼調試、重構等功能,在項目管理、團隊協作開發中經常會用到,因此,是一個非常不錯的前端軟體。
目前就分享這5個Web前端網頁編程軟體吧。對於零基礎入門來說,完全夠用了。當然,你也可以使用其他編程軟體,像Atom,Editplus等,也都可以,選擇適合自己的一種就行。
C. js代碼壓縮!
http://tools.css-js.com/compressor.html
這個站點裡面有四個壓縮引擎,一個YUI壓縮,一個UglifyJS壓縮,一個JSPacker壓縮,和一個新的JsMin壓縮。
一般用UglifyJS引擎壓縮就可以。jQuery和好些其他的前端項目就是用他壓縮的。
另外給個建議,你把你的JS文件用匿名函數的方式封裝起來,對外只給一個介面。這樣JS壓縮引擎就可以把你匿名函數中不對外開放的內部變數名稱都給替換成a,b,c,d這樣的單字元,很能節省體積。
D. 前端工程師都有用哪些比較靠譜的小工具
1. node.js + npm, 這個是前端工具的一個平台,沒有他們就沒有以下的工具,建立開發環境,下載開發工具,運行開發工具的利器
2. bower, 庫依賴管理器,類似於npm,但針對瀏覽器JavaScript的依賴管理,減少尋找庫,下載庫和升級庫的煩惱
3.grunt,流程自動化管理工具,將你非編程的開發步驟減到最小,grunt watch+liveReload或者grunt connect,可以使得免除你F5無盡地獄,發布和開發各種無壓力。以下大部分開發工具,都有grunt的相對應的插件,也就是說他們都能利用grunt進行自動化運行
5. 本人用less比較多,因為基本無縫兼容歷史遺留系統中的css,(而Sass語法比較特殊,還沒有專門用過,應該開發新系統的css比較好),一套css預編譯語言,可以把less語法轉成css語法,lessc是less語言編譯器,配合grunt less,編寫大型css文檔毫無壓力。
6.Phantomjs,沒有界面的瀏覽器,用js腳本控制其操作網頁。測試,抓圖,網頁流程自動化利器。配合casperjs的語法簡化功能真強庫後,控制Phantomjs就更加容易了
7. grunt PhotoBox, 利用phantomjs抓圖功能和ImageMagick圖片比較功能,在利用live-reload即時刷新功能,可以讓你開發css的時候,快速對n多個頁面進行觀察,看其前後變化。不過缺點也比較明顯,就是速度慢。但比起手動對比來看,還是非常快的。值得css開發時擁有。
8. phantomCSS,這個和grunt photobox類似,都用於css開發的,差別是photobox是全局觀察差別,而這個是單元組件觀察差別,它方便你就抓頁面中某一塊元素然後進行前後比較,更加註重細節上的差異,這個比較合適組件開發時候使用。
9. jshint,幫助你快速定位JavaScript的語法錯誤和潛在的跨瀏覽器兼容性問題。在部署你JS前,用jshint檢查一下是沒錯的 。
10.UglifyJS,壓縮JavaScript代碼,使你的JS代碼可以更加快速的載入。有grunt的插件
11. browserify允許你在瀏覽器裡面使用CMD標准模塊,但本人認為它的另外一個優勢是合並代碼,開發時候可以把代碼模塊化,分成很多很多小文件,然後有調理的放到相對應文件夾下,然後最後合成單一文件。本人曾經利用browserify開發greasemonkey代碼,大大簡化了greasemonkey的開發難度和增強了greasemonkey代碼的質量。browserify有grunt插件,這樣又減少的開發步驟。
12. Karma, google開發的一個單元測試運行器,這個自己本身不是一個單元測試框架,而是配合測試單元框架的一個工具。由於前端瀏覽器眾多,就算你有live-reload這樣自動化工具,但是還是要手動打開各種瀏覽器,手動把你的單元測試在各個瀏覽器都運行一遍。這個工具目的是目的就是讓電腦能自動化打開各種瀏覽器,然後把單元測試在各個瀏覽器中自動運行一遍,讓這個步驟也能自動化了。
13.clean-css (grunt cssmin), 我用的是grunt cssmin,但是grunt cssmin實際上背後使用的是clean-css工具,這個工具就是用來壓縮精簡css的,讓css文件大小更小。
E. 介紹幾個JS和CSS壓縮合並插件
介紹幾個JS和CSS壓縮合並插件
由於添加各種功能的代碼和wordpress插件,會導致JS和CSS增多,影響了wordpress博客的載入速度。雖然可以用代碼來對JS和CSS進行壓縮合並,可是對初學者不是那麼簡單,很容易出錯。因此介紹幾個 JS 和CSS 壓縮合並插件,方便初學者進行優化。
Better WordPress Minify
Better WordPress Minify 是將Minify引擎集成到wordpress博客上,一旦被啟用,它將合並和壓縮所有的 JS 和 CSS 文件,從而降低網頁的載入時間。
Better WordPress Minify插件使用很簡單。安裝並啟用插件後,會自動壓縮合並你的JS和CSS文件。當然你可以在設置頁面中,進行如下更細致的設置。
刪除不必要的空格與空行。
合並多個CSS或JavaScript文件。
自動縮小的JS文件。
自動縮小CSS文件。
並提供gzip壓縮。
縮小代碼bloginfo()樣式表?
縮小網址。
緩存目錄。
F. 前端工程師都有用哪些比較靠譜的小工具
1、TakeColor 取色器
對於前端開發來說,和顏色、圖片打交道是難免的,有的時候想要在ps外面獲取顏色.
2、CoolFormat 源代碼格式化工具
CoolFormat,不僅僅適用於前端,因為它支持很多語言源代碼的格式化,可以在上面的開始菜單中選擇你要格式化的語言種類,這里我選擇的是js,然後將一串很亂的js代碼粘貼到下面的文本框裡面,點擊快速格式化.
3、做筆記的小幫手——有道雲筆記
其實這有道雲筆記不算是小工具了,在這之前,我一直都是用txt記事本記東西的
G. sublime怎麼將css代碼壓縮插件
安裝css format插件就可以了。
H. 有哪些好用的代碼編輯器值得推薦
給大家推薦8款最受程序員喜愛的代碼編輯器
1、Atom
Atom是Github打造的一款開源代碼編輯器,支持 macOS、Windows和Linux操作系統,支持Node.js所寫的插件,並內置由Github提供的Git版本控制系統,也可被當作 IDE 使用。
Atom的特色在於它極其豐富的可定製性,以及賞心悅目的界面。特別是自帶的代碼縮略圖和代碼折疊功能,不管是用Python還是做前端都非常好用。
2、EMACS
EMACS的強大之處在於已經超出了編輯器的范疇,搞成了大的平台,很多開發人員在上面直接都以他為入口完成各種功能需求了。
主要有如下特性:上網瀏覽網頁看視頻,收發郵件,調試程序,玩游戲,計算器,;、文件比較,記日記,目錄管理
3、Notepad++
Notepad++被稱為是JAVA程序員的最愛,幾乎可以替代記事本的最佳編輯器,很多強大的功能集於一身。可以在Windows操作系統下編輯,有完整的中文化介面支持多國語言編寫的功能(UTF8技術),支持自定義語言。該程序還支持自動完成某些編程語言的API子集。
4、Sublime Text
Sublime 是一種比Notepad++功能強大的多編輯器,現在很多前端開發人員都很喜歡,雖然代碼不開源,裡面需要拿到注冊碼才能使用,但是它幾乎涵蓋了notepad++的所有特性,界面美觀功能全的編輯器。
主要有如下特性:
跨平台,幾乎在各個操作系統上都能使用
查找和替換功能做得非常友善
不僅支持多種語言關鍵字的高亮提示,還能針對編程語言編譯錯誤給提示
支持插件功能
能夠支持多種布局方式
5、Brackets
Brackets是一款為Linux開發者設計的開源代碼編輯器,使用Brackets寫代碼,你不會被任何事情所打斷。比如在寫HTML代碼時,即便你沒有保存代碼也可以及時預覽你的Web頁面效果。你也可以使用Theseus來檢查變數,Brackets默認提供一種主題,當然你也可以在擴展中心獲取更多的主題。
6、Vim
Vim 是一款高度可定製的文本編輯器,可以用於包括編寫代碼在內的各種文本創建與編輯工作。
Vim 的特色在於,它可以僅僅通過鍵盤來在插入、執行命令、文本批量處理等模式之中切換。這就使得 Vim 可以不用進行菜單或者滑鼠操作,並且最小化組合鍵的操作。對文字錄入員或者程序員可以大大增強速度和效率。
7、Visual Studio Code
Visual Studio Code是目前最受歡迎的代碼編輯器。Visual Studio Code是一個由微軟公司發布的免費開源且跨平台的代碼編輯器,剛一問世,它就以強大的功能、美觀的界面、高度的可定製性,被譽為微軟的良心之作。
Visual StudioCode 內置了代碼調試、Git 版本控制、代碼高亮、智能代碼補完、代碼片段管理、代碼重構等豐富的功能。此外,VS Code 的用戶個性配置選項也很豐富,能方便地修改主題顏色、鍵盤快捷方式等各種屬性和參數,還在內置了擴展程序管理的功能。
8、Eclipse
Eclipse以一種友好的集成開發環境,為各種類型的用戶,提供了一系列針對開發Web和Java應用的可用工具。雖然專注於Java,但是也支持其他各種編程語言,如C ++、JavaScript、PHP、C、Perl、Fortran、Ruby、Python,甚至是COBOL。它還包括了適用於各種語言、向導和內置應用程序以簡化開發的源代碼和圖形編輯器,以及支持部署、運行和測試app的工具和API。
Eclipse提供的插件功能相當豐富,有助於更加簡便地創建、集成和使用軟體工具,節省時間和金錢。
I. 用C語言寫一個小程序(一個小功能就可以了),要求:100行代碼左右,不要太多,要有注釋,謝謝~
回#include<stdio.h> //標准輸入、輸出頭文件
#include<string.h> //包含字元串函數處理頭文件
#include<stdlib.h> //包含動態存儲與釋放函數頭文件
#define N 10000
struct air //定義結構體數組
{
int num;
char start[20];
char over[20];
char time[10];
int count;
}s[N];
int i;
int m=0;
#define PRINT "%-d%12s%12s%10s%12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //定義輸出格式
void input(); //輸入航班信息
void print(); //輸出航班信息
void save(); //保存航班信息
void read(); //讀取航班信息
void search(); //查找航班信息
void shanchu(); //刪除航班信息
void dingpiao(); //訂票信息
void tuipiao(); //退票信息
void xiugai(); //修改信息
void main()
{
int j;
printf("================================================================================\n");
do
{
printf(" 1.輸入航班信息 \n\n"
" 2.瀏覽航班信息 \n\n"
" 3.修改航班信息 \n\n"
" 4.查找航班信息 \n\n"
" 5.刪除航班信息 \n\n"
" 6.訂票信息 \n\n"
" 7.退票信息 \n\n"
" 0.退出 \n\n");
printf("================================================================================\n");
printf("請在0-7中選擇以回車鍵結束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1: input();//調用輸入模塊
break;
case 2:print();//調用列印模塊
break;
case 3:xiugai();//調用修改模塊
break;
case 4:search();//調用查找模塊
break;
case 5:shanchu(); //調用刪除模塊
break;
case 6:dingpiao();//調用訂票模塊
break;
case 7:tuipiao();//調用退票模塊
break;
case 0:;
break;
}
}while(j!=0); //判斷結束
printf("謝謝使用,再見!\n");
}//主函數結束
void input()//列印模塊程序
{
int y;
printf("請依次輸入航班信息(機票數位0結束輸入):\n\n"
"完成輸入信息請鍵入w以回車鍵結束\n\n"); //列印提示信息
printf("--------------------------------------------------------------------------\n");
for(i=0;i<N;i++)
{
printf("請輸入航班號:\n");
scanf("%d",&s[i].num); //讀取航班號
printf("請輸入起始站:\n");
scanf("%s",s[i].start);//讀取起始站
printf("請輸入終點站:\n");
scanf("%s",s[i].over);//讀取終點站
printf("請輸入時間:\n");
scanf("%s",s[i].time);//讀取時間
printf("請輸入機票數(機票數為0結束輸入):\n",m);
scanf("%d",&s[i].count);//讀取機票數
m++;
printf("第%d個信息已經輸完是否繼續?按任意鍵繼續,按 0結束",m);
scanf("%d",&y);
if(y==0)
{
save();//將結構體信息存檔
print();//輸出輸入的航班信息
break;
}
}
}
void save()//保存模塊程序
{
FILE *fp,*fp1;//定義文件指針
if((fp=fopen("chen.dat","wb"))==NULL)//打開文件並判斷是否出錯
{
printf("創建文件失敗!\n\n");//列印出錯提示
getchar();
return;
}
if((fp1=fopen("hao.dat","wb"))==NULL)//打開文件並判斷是否出錯
{
printf("創建文件失敗!\n\n");//列印出錯提示
getchar();
return;
}
for(i=0;i<m;i++)
if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件寫入數據,並判斷是否出錯
printf("向文件輸入數據失敗!\n\n");
fprintf(fp1,"%d",m);
fclose(fp);//關閉文件
fclose(fp1);//關閉文件
}
void read()//從文件讀取信息模塊
{
FILE *fp,*fp1;//定義文件指針
if((fp=fopen("chen.dat","rb"))==NULL)//打開文件,並判斷是否出錯
{
printf("出錯,請檢查文件是否存在,按任意鍵返回住菜單");//列印出錯提示
getchar();
}
if((fp1=fopen("hao.dat","rb"))==NULL)//打開文件並判斷是否出錯
{
printf("創建文件失敗!\n\n");//列印出錯提示
getchar();
return;
}
fscanf(fp1,"%d",&m);
fclose(fp1);//關閉文件
for(i=0;i<m;i++)
{
fread(&s[i],sizeof(struct air),1,fp);//從文件中讀取信息
}
fclose(fp);//關閉文件
}
void print()//列印模塊
{
char w[10];
read();//調用讀取文件函數
printf("航班號 起始站 終點站 時間 機票數\n");
for(i=0;i<m;i++)
{
printf(PRINT);//列印信息
}
printf("請按任意鍵回車鍵結束返回上層菜單以:\n");
scanf("%s",w);
}
void search()//查詢模塊
{
char name1[20];
char name2[20];
char ii[10];
int n,no;
do
{
printf("請選擇查找方式:\n\n");//列印查詢方式菜單
printf("1.按航班號查找\n\n"
"2.按終點站查找\n\n"
"3.按航線查找\n\n"
"0.返回\n\n");
printf("請在0-3中選擇:\n\n"
"按其他鍵以回車鍵結束返回主菜單:\n\n");
scanf("%d",&n);//讀取查找方式
if(n==0)
break;
switch(n)
{
case 1:
printf("請輸入航班號:\n");
scanf("%d",&no);//航班號
break;
case 2:
printf("請輸入終點站名稱:\n");
scanf("%s",name2);//讀取終點站
break;
case 3:
printf("請輸入起始站名稱:\n");
scanf("%s",name1);//讀取起始站
printf("請輸入終點站名稱:\n");
scanf("%s",name2);//終點站
break;
}
read();//調用讀取函數
for(i=0;i<m;i++)
{
if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)//按終點站起始站判斷輸出條件
{
printf("\n查找航班信息成功!\n");
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);//列印信息
break;
}
if(s[i].num==no)//按航班號判斷輸出條件
{
printf("\n查找航班信息成功!\n");
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);//列印信息
break;
}
}
no=0;//將航班號賦值為0
printf("沒有您需要的信息或查找完畢:\n\n"
"是否繼續查找?請鍵入yes或no以回車鍵結束\n");
scanf("%s",ii);
}while(strcmp(ii,"yes")==0);//判斷結束
}
void shanchu()//刪除模塊
{
char name1[20];
char name2[20];
char ii[10];
char f[]="2008china";//設置密碼
int no,n;
printf("請輸入密碼並以回車鍵結束:\n\n");
scanf("%s",f);//讀取密碼
if(strcmp(f,"2008china")==0) //判斷密碼是否正確
{
do
{
printf("請選擇刪除以方式回車鍵結束:\n\n");//列印刪除方式菜單
printf("*1.按航班號刪除\n\n"
"*2.按航線刪除\n\n"
"*0.返回\n\n");
printf("請在0-2中選擇以回車鍵結束:\n");
scanf("%d",&n);//讀取刪除方式
if(n==0)
break; //跳出循環
switch(n)
{
case 1:
printf("請輸入航班號:\n");
scanf("%d",&no);//讀取航班號
read();//調用讀取函數
break;//跳出循環
case 2:
printf("請輸入起始站 名稱:\n");
scanf("%s",name1);//讀取起始站
printf("請輸入終點站名稱:\n");
scanf("%s",name2);//讀取終點站
read();//調用讀取函數
break;//跳出循環
}
for(i=0;i<m;i++)
{
if(s[i].num==no||strcmp(s[i].start,name1)==0&&strcmp(s[i].over,name2)==0)//判斷輸入信息是否存在
{
s[i]=s[m-1];
m--;
}
}
printf("查找完畢或沒有這個信息\n\n");
printf("是否繼續刪除\n");
printf("請鍵入yes或no以回車鍵結束\n");
scanf("%s",ii); //讀取是否繼續信息
save(); //調用讀取函數
if(!strcmp(ii,"yes")) //判斷是否繼續刪除
printf("請按任意鍵以回車鍵結束返回上層菜單:\n");
break;
}while(n!=1&&n!=2&&n!=3&&n!=4&&n!=0); //判斷結束
}
else
printf("對不起密碼錯誤!您不是管理員,不能使用此項功能!謝謝!再見!\n\n");
}
void dingpiao()//訂票模塊
{
int n;
char a[10];
do
{
search();//調用查詢模塊
printf("請輸入您要訂的機票數以回車鍵結束:\n");
scanf("%d",&n);//讀取所訂機票數
if(n<0)
{
printf("請輸入有效的機票數!\n");//判斷機票數是否出錯
break;
}
if(s[i].count!=0&&s[i].count>=n)//判斷是否出錯
{
s[i].count=s[i].count-n;
save();//調用保存函數
printf("訂票成功!\n\n");
break;
}
if(s[i].count<n)//判斷是否出錯
{
printf("請輸入有效的機票數:\n");
break;
}
printf("是否繼續? 請輸入yes或no以回車鍵結束:\n");//判斷是否繼續訂票
scanf("%s",a);
}while(!strcmp(a,"yes"));//判斷結束
}
void tuipiao()//退票模塊
{
int n;
char a[10];
do
{
search();//調用查詢模塊
printf("請輸入您要退的機票數目:\n");
scanf("%d",&n);//輸入所退票數
if(n<0) //判斷票數是否有效
printf("請輸入有效的機票數!\n");
s[i].count=s[i].count+n;
save(); //調用保存模塊
printf("退票成功!\n\n");
printf("是否繼續? 請鍵入yes或no以回車鍵結束:\n\n");//判斷是否繼續退票
scanf("%s",a);
}while(!strcmp(a,"yes"));//判斷並跳出循環
getchar();
}
void xiugai() //修改模塊
{
struct xiu //定義結構體
{
int no;
char name1[20];
char name2[20];
char time[20];
int count;
}x[1];
char j[10];
int n;
printf("請輸入密碼並以回車鍵結束:\n\n");
read();//調用讀取模塊
do
{
printf( "請選擇修改方式:\n\n"
"*1,按航班號修改:\n\n"
"*2,按航線修改: \n\n");
printf("請在1---2中修改以回車鍵結束:\n\n");
scanf("%d",&n);//讀取修改方式
switch(n)
{
case 1:printf("請輸入航班號:\n");
scanf("%d",&x[0].no);//讀取航班號
break;
case 2:printf("請輸入起始站:\n");
scanf("%s",x[0].name1);//讀取起始站
printf("請輸入終點站:\n");
scanf("%s",x[0].name2);//讀取終點站
break;
}
for(i=0;i<m;i++)
{
if(strcmp(s[i].over,x[0].name1)==0&&strcmp(s[i].over,x[0].name2)==0)//判斷輸出條件
{
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);
break;
}
if(s[i].num==x[0].no)//判斷輸出條件
{
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);
break;
}
}
x[0].no=0; //將結構體中的號為零
printf("請輸入新航班號、起始站、終點站、時間(星期幾)、機票數:\n");
scanf("%d%s%s%s%d",&x[0].no,x[0].name1,x[0].name2,x[0].time,&x[0].count);//定義輸入格式
s[i].num=x[0].no;//替換航班號
strcpy(s[i].start,x[0].name1);//替換其始站
strcpy(s[i].over,x[0].name2);//替換終點站
strcpy(s[i].time,x[0].time);//替換時間
s[i].count=x[0].count;//替換機票數
save();//調用保存模塊
printf("是否繼續?請鍵入yes或no以回車鍵結束:\n\n");
scanf("%s",j);
}while(strcmp(j,"yes")==0); //判斷結束
}
答即可得2分,回答被採納則獲得懸賞分以及獎勵20分
J. vue-codemirror代碼格式化後,怎樣壓縮代碼
具體操作步驟如下:
1、設置proctionSourceMap為false。如果不需要生產環境的 source map,可以將其設置為 false 以加速生產環境構建。設置為false打包時候不會出現.map文件。
2、代碼壓縮。安裝uglifyjs-webpack-plugin插件,可以去除項目中console.log和debugger。
3、圖片資源壓縮。
安裝 image-webpack-loader 插件,可以將大圖片進行壓縮從而縮小打包體積。
4、開啟gzip壓縮。