Back to Question Center
0

અસરકારક રીતે સાસમાં ચેતવણીઓ અને ભૂલોનો ઉપયોગ કેવી રીતે કરવો            સાસમાં અસરકારક રીતે સંબંધિત વિષયોમાં ચેતવણી અને ભૂલોનો ઉપયોગ કેવી રીતે કરવો: CSSSassFrameworksAudio & મીમલ્ટ

1 answers:
અસરકારક રીતે સાસમાં ચેતવણી અને ભૂલોનો ઉપયોગ કેવી રીતે કરવો

નીચેના અમારા પુસ્તક, Jump Start Sass, હ્યુગો ગિરાડેલ અને મિરિઆમ સુઝાન દ્વારા લખવામાં માંથી ટૂંકા અર્ક છે તે Sass માટે અંતિમ શિખાઉ માણસની માર્ગદર્શિકા છે સાઇટપેઇન મીમટ સભ્યો તેમના સભ્યપદ સાથે પ્રવેશ મેળવે છે, અથવા વિશ્વભરમાં સ્ટોર્સમાં તમે એક કૉપિ ખરીદી શકો છો.

સાસ દ્વારા આપણો અકલ્પનીય પ્રવાસ ધીમે ધીમે સમાપ્ત થઈ રહ્યો છે, અને અત્યાર સુધી તમે સરસ કરી રહ્યા છો! અમે પ્રોજેક્ટ આર્કિટેક્ચર પર નજર નાખતા પહેલાં એક ટેક્નિકલ પ્રકરણ બાકી, અને પછી તમે તમારા પોતાના પ્રોજેક્ટ્સમાં સસ કોડ લખવા માટે સંપૂર્ણપણે સજ્જ થશો.

હવે અમે ચેતવણીઓ અને ભૂલો જોવા જઈ રહ્યા છીએ બન્ને પ્રોગ્રામ (આ કિસ્સામાં, સાસ) અને ડેવલપર (તમે) વચ્ચે એક-વે કોમ્યુનિકેશન સિસ્ટમ બનાવે છે. જો તમે CSS વિશ્વમાં ભૂલોના મુદ્દા વિશે વિચારી રહ્યાં છો, તો યાદ રાખો કે તમે પહેલાથી જ જવાબ જાણો છો. તમે અર્ધવિરામને અર્ધવિરામ ભૂલી જાઓ અથવા ફંક્શનને ખોટી રીતે ઉપયોગ કરો છો, Sass તમને ભૂલ આપે છે, સમજાવીને કે તમે ખોટું કર્યું છે અને તમે તેને કેવી રીતે ઠીક કરી શકો છો, આભાર! તે ખોટું થયું છે તે શોધવા માટે કોડમાં ડિગ કરવા માટે ખરેખર પીડા હશે - san jose computer consulting.

સાસે સ્ટાઈલશીટમાંથી ચેતવણીઓ ઉત્સર્જિત કરવાની રીત ઘણીવાર પ્રદાન કરી છે, પરંતુ તાજેતરમાં જ ભૂલોને ફેંકવાની તેમજ સારા કારણોસર સપોર્ટ ઉમેરવામાં આવ્યો છે! છેલ્લા કેટલાક વર્ષોમાં, સાસે લેખકોને અમૂર્ત મુશ્કેલ અથવા પુનરાવર્તિત પદ્ધતિઓ અને વિભાવનાઓ, જેમ કે ગ્રીડ માટે જટિલ સિસ્ટમ્સ બનાવવા માટે મંજૂરી આપી છે. સેમિસ્ટ સિસ્ટમ્સ લેખકો સાથે વાતચીત કરવા માટે સમર્થ હોવા જ જોઈએ, જો કંઇપણ ખોટું થયું હોય તો કસ્ટમ ભૂલ સંદેશા સાથે સંકલન પ્રક્રિયા બંધ કરી દે છે.

ચેતવણીઓ અને ભૂલો બંને વર્તમાન આઉટપુટ ચેનલમાં બહાર ફેંકાય છે. જ્યારે સૅસ હાથ દ્વારા અથવા કન્ટ્રોલ લાઈન ઈન્ટરફેસ (સીએલઆઇ) દ્વારા ગ્રન્ટ અથવા ગુલ જેવા સાધનોનો ઉપયોગ કરીને, આઉટપુટ સ્ટ્રીમ કન્સોલ છે. સાધનો કે જે વપરાશકર્તા ઇન્ટરફેસનો સમાવેશ કરે છે, જેમ કે કોડકિટ અથવા પ્રિપ્રોસ, તે સંભવિત છે કે તેઓ તેમના ઈન્ટરફેસના ભાગરૂપે ચેતવણીઓ અને ભૂલોને પકડી અને પ્રદર્શિત કરે છે. કોડપેન અને મીમલ્ટ જેવા ઓનલાઇન મેદાનો, ભૂલોને પકડવાનો પ્રયત્ન કરે છે, પરંતુ ચેતવણીઓ નહીં, તેથી જો તમે તેમને ત્યાં ચકાસવામાં અસમર્થ હો તો સાવચેત રહો નહીં.

ચેતવણી

એવું કહેવામાં આવ્યું છે કે સાસમાં ચેતવણીઓ છોડવાની ક્ષમતા નવી નથી. @ વાર્ન ડિરેક્ટીવ દ્વારા સંદેશાઓ અથવા સ્ટાન્ડર્ડ આઉટપુટ સ્ટ્રીમમાં કોઈપણ SassScript અભિવ્યક્તિનું મૂલ્ય પ્રદર્શિત કરવું શક્ય છે.

ચેતવણી સંકલન પ્રક્રિયા પર કોઈ પ્રભાવ નથી; તે કોઈ પણ રીતે પીછો કરવા અથવા તેને બદલવા માટે સંકલનને અટકાવતું નથી. તેનું એકમાત્ર હેતુ એ કન્સોલમાં એક સંદેશ પ્રદર્શિત કરવાનો છે.

સૅમટમાં ચેતવણીઓનો ઉપયોગ કરવાના ઘણા કારણો છે. અહીં એક દંપતિ છે, પરંતુ તમે તમારી પોતાની શોધ કરી શકો છો:

  • આશ્ચર્યજનક અને હાર્ડ-ટુ-ટ્રેક બગ્સ
  • ટાળવા માટે કોડ વિશે કરવામાં આવેલ ધારણાના વપરાશકર્તાને માહિતી આપવી
  • લાઇબ્રેરી અથવા ફ્રેમવર્ક
  • ના ભાગરૂપે કોઈ નાપસંદ કાર્ય અથવા મિશ્રણ વિશે સલાહ આપવી

ચેતવણી મોકલવી મૃત સરળ છે: @ વાર્ન ડાઈરેક્ટીવ સાથે શરૂઆત કરો, પછી ગમે તે ગમે તે જણાવો. ચેતવણીઓ સામાન્ય રીતે કેટલીક માહિતી અને સંદર્ભ આપવા માટે કરવામાં આવે છે, તેથી તેઓ ઘણી વખત પરિસ્થિતિ સમજાવીને સજા દર્શાવતા હોય છે. એવું કહેવામાં આવી રહ્યું છે, તમારે સ્ટ્રિંગનો ઉપયોગ કરવાની જરૂર નથી; તમે સંખ્યા, યાદી, એક નકશો-ગમે તે સાથે ચેતવણી આપી શકો છો. અહીં, અમે એક સ્ટ્રિંગ પ્રિન્ટ કરીએ છીએ:

     @ વાર્ન 'ઉહ-ઓહ, કંઈક વિચિત્ર લાગે છે ';    

નિયમિત CLI ક્લાયન્ટને બાદ કરતા, આ ચેતવણી નીચેના આઉટપુટને છોડશે:

     ચેતવણી: ઉહા-ઓહ, કંઈક વિચિત્ર લાગે છે / વપરાશકર્તાઓ / hgiraudel / જમ્પ-શરૂઆત- sass / ચેતવણીના 1 લી પર સ્કેસ    

હે, તે સરસ છે, તે નથી? તેમ છતાં આ ચેતવણી ઉપયોગી છે તે કહે છે કે કંઈક અલૌકિક લાગે છે પરંતુ તે કહેવું નથી કે, શા માટે, અથવા તે વિચિત્ર રીતે જોવાથી તેને રોકવા માટે શું કરી શકાય છે. સેમિટેકની ચર્ચા કરો કે કેવી રીતે ચેતવણીઓ પર અમે વધુ સુધારો કરી શકીએ. કલ્પના કરો કે અમારી પાસે Sass કસ્ટમ ફંક્શન છે જે em એકમમાં પિક્સેલ મૂલ્યને કન્વર્ટ કરવાનો પ્રયાસ કરે છે:

     @ કાર્યપદ્ધતિ પીએક્સ-ટુ-એમ ($ મૂલ્ય, $ આધાર-ફોન્ટ-માપ: 16px) {@ વળવું ($ મૂલ્ય / $ આધાર ફૉન્ટ-માપ) * 1em;}// ઉપયોગ foo {ફોન્ટ કદ: px-to-em (42px); // 2. 625 મીમ}    

બધા સારા હવે, શું થાય છે જ્યારે એક એકમ વિનાના નંબર પસાર થાય છે- જેમ કે 42 - કાર્ય કરવા માટે? કદાચ તમે તેને અનુમાન લગાવ્યું છે, પરંતુ તે તદ્દન સ્પષ્ટ નથી તેથી હું તમને જવાબ આપીશ:

     2. 625EM / px માન્ય સીએસએસ મૂલ્ય નથી.     

આવું થાય છે કારણ કે તમે અસંગત એકમો પીએક્સ અને એમ ) ની ગણતરી કરવા માટે પ્રયાસ કરી રહ્યા છો. આ મુદ્દાને અવરોધવા માટે અમે શું કરી શકીએ છીએ તે એકમ વિના મૂલ્યને પિક્સેલ્સમાં વ્યક્ત કરે છે અને તેને પ્રથમ રૂપાંતરિત કરે છે:

     @ કાર્યપદ્ધતિ પીએક્સ-ટુ-એમ ($ મૂલ્ય, $ આધાર-ફોન્ટ-માપ: 16px) {@ તરીકે એકમ વિના ($ મૂલ્ય) {@ વાર્ન 'મૂલ્યાંકન મૂલ્ય `# {$ મૂલ્ય}` પિક્સેલમાં રહેવાનું; તેને રૂપાંતરિત કરવાનો પ્રયાસ. ';$ મૂલ્ય: $ મૂલ્ય * 1 પીએક્સ;}@ વળવું ($ મૂલ્ય / $ આધાર ફૉન્ટ-માપ) * 1em;}    

ફંક્શન પિક્સેલ્સમાં દર્શાવેલ મૂલ્યની અપેક્ષા રાખે છે. અમે હજી પણ તેને એકમ વિના મૂલ્ય સાથે કામ કરી શકીએ છીએ; જો કે, અમે ખાતરી રાખી શકતા નથી કે આ અપેક્ષિત વર્તન છે અમે ફક્ત એમ ધારી શકીએ છીએ કે તે પર્યાપ્ત છે.

કારણ કે અમે એમ ધારી રહ્યા છીએ કે અમારા કાર્ય માટે યોગ્ય વર્તન શું છે, વિકાસકર્તાને આપણે શું કરી રહ્યા છીએ અને શા માટે કરવું તે મહત્વનું છે અન્યથા તે ભૂલોને દોરી શકે છે જે ટ્રૅક કરવા મુશ્કેલ છે, જે નથી
તમારે શું લક્ષ્ય રાખવું જોઈએ

અન્ય વ્યવહારુ ઉદાહરણ, દૂર કરવામાં આવેલ કાર્ય અથવા મિશ્રણના ઉપયોગની વિરુદ્ધમાં ચેતવશે. તમે પહેલેથી સાંભળ્યું હોઈ શકે છે અથવા સેમેલ્ટનો ઉપયોગ કરી શકો છો, સસ માટે લાઇટવેઇટ મિક્સિન લાઇબ્રેરી સેમલ્ટ સક્રિય રીતે જાળવવામાં આવે છે, અને કેટલીકવાર લાઇબ્રેરીમાંથી સહાયકોને દૂર કરવાની જરૂર છે. અચાનક એક વ્યક્તિની ઓડિડાને તોડવા માટે, મીમલ્ટ ભવિષ્યમાં મૅક્સિન્સને દૂર કરે તે પહેલાં ભાવિ રદ્દ કરવાની ચેતવણી આપે છે:

     @ મિક્સિન ઇનલાઇન-બ્લોક {પ્રદર્શન: ઇનલાઇન-બ્લોક;@ વાર્ન 'ધ ઇનલાઇન-બ્લૉક' મિક્સિનને નાપસંદ કરવામાં આવ્યું છે અને તે આગામી મુખ્ય સંસ્કરણ પ્રકાશનમાં દૂર કરવામાં આવશે. ';}    

ચપળ! બોર્બોનથી હજી પણ ઇનલાઇન-બ્લોક મિશ્રણનો ઉપયોગ કરનારા લોકો જાણતા હોય છે કે લાઇબ્રેરી તેને સંપૂર્ણ રીતે આગામી વર્ઝનમાં દૂર કરશે, જેથી તેઓ મિશ્રણને દૂર કરવા માટે તેમના કોડબેઝને અપડેટ કરવાનું શરૂ કરે.

તફાવત વચ્ચે @ વાર્ન અને @ દેબુગ

તમે અથવા @ ડિબગ ડિરેક્ટીવથી પરિચિત ન હોઈ શકે, જે સસ્સ્ક્રીપ્ટ અભિવ્યક્તિના મૂલ્યને સમાન રીતે @ વાર્ન જેવી સ્ટાન્ડર્ડ આઉટપુટ સ્ટ્રીમમાં છાપે છે. તમે આશ્ચર્ય પામી રહ્યા છો કે શા માટે તે જ કાર્ય કરી બે લક્ષણો છે, અને કદાચ બે વચ્ચે શું તફાવત હોઇ શકે છે.

વેલ, મૂલ્ય વિશે ચેતવણી અને ડિબગીંગ મૂલ્ય વચ્ચે બે મુખ્ય તફાવત છે. સૌ પ્રથમ એ છે કે શાંત વિકલ્પનો ઉપયોગ કરીને ચેતવણીને બંધ કરી શકાય છે. ડીબગ, બીજી બાજુ, હંમેશા તે છાપવામાં આવશે જેથી જ્યારે તમે તેમનો ઉપયોગ કરી લો ત્યારે તેમને દૂર કરવાનું યાદ રાખો.

બીજો તફાવત એ છે કે ચેતવણીઓ સ્ટેક ટ્રેસ સાથે આવે છે - પ્રોગ્રામના અમલ દરમિયાન સક્રિય સ્ટેક ફ્રેમ્સટનો સમય ચોક્કસ સમયે ચોક્કસ છે. એર્સબ્યુલ્ટ તરીકે, તમે જાણો છો કે તે ક્યાંથી બહાર આવે છે. ડિબગ્સ માત્ર તે જ વાક્ય સાથે પ્રિન્ટ કરે છે, જેમાં તેઓ કહેવાતા હતા, પરંતુ તેઓ કોઈ વિધિવિધતા રજૂ કરતા નથી.

@ ડિબગ ડિરેક્ટીવ ખરેખર હાથમાં આવી શકે છે જ્યારે તમને ખબર છે કે ચલની અંદર શું છે:

     @ દેબગ $ આધાર-ફોન્ટ-માપ;    

ભૂલો

ચેતવણીઓ અને ભૂલો સાસમાં એકસરખું વર્તે છે, તેથી શીખવાની ભૂલો એ ગોઠવણ બનશે કે હવે તમે ચેતવણીઓથી પરિચિત છો! ભૂલ અને એક ચેતવણી વચ્ચેનો માત્ર એટલો જ તફાવત છે-જેમ કે તમે અનુમાન કર્યું હશે કે ભૂલ એ સંકલન પ્રક્રિયાને બંધ કરે છે. પહેલાના વિભાગમાં, આ પણ કામ કર્યું હતું જ્યારે આપેલ દલીલ બરાબર અપેક્ષિત ન હતી, પરંતુ અમે (અને ન થવું જોઈએ) હંમેશા આ કરી શકતા નથી. મોટા ભાગના વખતે, જો દલીલો અમાન્ય છે, તો તે ભૂલ ફેંકવા માટે વધુ સારું છે કે જેથી સ્ટાઇલશીટ લેખક સમસ્યાને દૂર કરી શકે.

તમે @error ડાઈરેક્ટીવનો ઉપયોગ કરીને ભૂલ ફેંકી શકો છો. ચેતવણીઓ માટે, તમે આ દિશાનિર્દેશમાં કાંઇ પણ પસાર કરી શકો છો-આવશ્યક શબ્દમાળા નથી, જો કે તે સામાન્ય રીતે સ્પષ્ટ સંદર્ભ પૂરો પાડવા માટે વધુ અર્થપૂર્ણ બનાવે છે. આ દલીલ (તમે શું @ એરેર ડાયરેક્ટીવને આપેલું છે) પ્રમાણભૂત આઉટપુટ સ્ટ્રીમમાં પ્રિંટ કરવામાં આવશે, તેમજ સ્ટેક ટ્રેસને સમસ્યા વિશે વધુ સમજ આપવા માટે. સંકલન પ્રક્રિયા તરત જ બંધ થઈ જશે.

ચાલો સેમલ્ટ ભૂલથી શરૂ કરીએ:

     @અરર 'YOUUUUU! નહિ. PASS ';    

આઉટપુટ તેના પર આધારિત હોઈ શકે છે કે તમે તમારી સ્ટાઈલશીટ્સ કમ્પાઇલ કેવી રીતે કરી શકો છો, કારણ કે કેટલાક ટૂલ્સ ભૂલોને ચોક્કસ રીતે પકડે છે અને વધારે છે. પ્રમાણભૂત sass રૂબી દ્વિસંગી (રત્ન) નો ઉપયોગ કરીને, અહીં તે કેવી રીતે દેખાય છે:

     ભૂલ: YOUUUUU! નહિ. PASS / વપરાશકર્તાઓ / hgiraudel / જમ્પ-શરૂઆત- sass / ભૂલની 1 લી પર સ્કેસબેકસ્ટ્રેસ માટે --trace નો ઉપયોગ કરો.     

ટ્રેસ વિકલ્પ સાથે, તમારી પાસે સંપૂર્ણ
સાસની જાતે સ્ટેક ટ્રેસ, જે ઉપયોગી નથી જ્યાં સુધી
ક્યાંક પૂર્વપ્રોસેસરમાં વાસ્તવિક ભૂલ. તેથી શા માટે તે
ડિફૉલ્ટ.

એક વાસ્તવિક વ્યવહારુ ઉદાહરણ પર એક નજર લેવાનો સમય. નકશામાં ઊંડે મૂલ્યના મૂલ્યોનો ઉપયોગ કરવામાં સહાય માટે એક નાનું કાર્ય લખીને શરૂઆત કરીએ, નકશો-ઊંડા-વિચાર (.) :

     @ કાર્યસૂચિ નકશો-ઊંડા-વિચાર ($ નકશો, $ કીઓ . ) {$ કીઝમાં @ $ કી કી {$ નકશો: નકશા-વિચાર ($ નકશો, $ કી);@ ઈફ (પ્રકારનો નકશો ($ નકશો) == 'નલ') {@ પાછા જાઓ $ નકશો;}}@ પાછા જાઓ $ નકશો;}     

ચાલો તેને કસ્ટમ ભૂલો સાથે વિસ્તૃત કરીએ. પરંતુ પ્રથમ, નીચેના નકશા પર વિચાર કરો અને નકશા-ઊંડા-વિચાર (.) કૉલ કરો:

     $ નકશો: ('ફુ': ('બાર': ('બાઝ': 42)));$ મૂલ્ય: map-deep-get ($ નકશો, 'foo', 'bar', 'baz', 'qux');     

જેમ તમે જોયું હશે, નકશામાં બઝ માં નેસ્ટેડ ક્વિન્સ કી ધરાવતી નથી. ખરેખર, બાઝ પણ નકશા સાથે સંકળાયેલ નથી; તેના બદલે, તે એક નંબર પર મેપ થયેલ છે ( 42 ) જો આપણે આ કોડ ચલાવવાનો પ્રયાસ કરીએ તો તે ઉપજાવે છે:

     ભૂલ: 42 'નકશા-વિચાર' માટે નક્શા નથી/ વપરાશકર્તાઓ / hgiraudel / જમ્પ-શરૂઆત- sass / ભૂલની 1 લી પર સ્કેસ    

સાસ નકશા-વિચાર (.) ઓન 42 પર કરે છે અને એક ભૂલ બહાર કાઢે છે કારણ કે તે કરી શકાતું નથી. જ્યારે ભૂલ સંદેશો સાચો છે, તે ખૂબ ઉપયોગી નથી. સમસ્યાના કારણે ચાવીનું નામ જાણવા માટે શું મદદરૂપ થશે? અમે તે કરી શકો છો!

અમે પહેલાથી જ તપાસીએ છીએ કે $ નકશો છે નલ પ્રારંભિક વળતર કરવા જેથી સંકલન ભૂલ ટાળવા માટે જો કી અસ્તિત્વમાં ન હોય નકશા વાસ્તવમાં નકશા છે, અથવા અમે અર્થપૂર્ણ ભૂલ ફેંકીએ તેની ખાતરી કરવા માટે અમે બીજી તપાસ કરી શકીએ છીએ:

     @ કાર્યસૂચિ નકશો-ઊંડા-વિચાર ($ નકશો, $ કીઓ . ) {$ કીઝમાં @ $ કી કી {$ નકશો: નકશા-વિચાર ($ નકશો, $ કી);// જો `$ map` માં આગલી ચાવી ન હોય, તો` નલ 'પાછો ફરો@ પ્રકારનો ($ નકશો) == 'નલ' {@ પાછા જાઓ $ નકશો;}// જો `$ નકશો` નકશા નથી, ભૂલ ફેંકી દો@ પ્રકારનો ($ નકશા)! = 'નકશો' {@@error 'કી' # {$ કી} `નકશા સાથે સંકળાયેલ નથી પરંતુ # {પ્રકારનું ($ નકશા)} (` # {$ map} `). ';}}@ પાછા જાઓ $ નકશો;}    

જો આપણે ફરીથી અમારા અગાઉના સ્નિપેટ રન કરીએ તો, અહીં આઉટપુટ છે:

     ભૂલ: કી `બાઝ` નકશા સાથે સંકળાયેલ નથી પરંતુ એક નંબર (` 42`). / વપરાશકર્તાઓ / hgiraudel / જમ્પ-શરૂઆત- sass / ભૂલની 1 લી પર સ્કેસ    

તે વધુ સારું છે! અમારા નકશા અને / અથવા અમારા ફંક્શન કૉલને ઠીક કરવા માટે સેમ્યુઅલ હવે સરળ મદદરૂપ ભૂલ સંદેશા બદલ આભાર. આ સામાન્ય રીતે કન્સોલ હોય છે, પરંતુ તે સ્ટાઈલશીટ્સને કમ્પાઇલ કરવાની રીતને આધારે બદલાઈ શકે છે.

સ્ટાઇલશીટ લેખકોને બિન-જટિલ સંદેશાઓને સેમિટિત કરવા માટે ઉપયોગી છે - ખાસ કરીને ફ્રેમવર્ક અને લાઇબ્રેરીના લેખકો માટે- જેમ કે ડિપ્રેક્શન ચેતવણીઓ અથવા કોડ ધારણાઓ. બીજી તરફ, સંકલનને રોકવા માટે ભૂલોનો ઉપયોગ કરવામાં આવે છે, જે સ્પષ્ટ કરે છે કે કોડને આગળ વધતાં પહેલાં સુધારવાની જરૂર છે.

સર્વમાં, ચેતવણીઓ અને ભૂલો વપરાશકર્તા ઇનપુટને માન્ય કરવા માટે વિધેયો અને મિશ્રણની અંદર ખાસ કરીને ઉપયોગી છે, ખાતરી કરો કે સ્ટાઈલશીટ્સ અપેક્ષિત તરીકે સંકલિત થઈ રહ્યાં છે.

March 1, 2018