2016-05-01 9 views
7

Laravel 5 के लिए पूरा शुरुआत और मेरी शीर्ष लेख में इस कोड का उपयोग कस्टम फोंट आयात करने की कोशिश:मैं लैरवेल 5 में कस्टम फोंट कहां रखूं?

<style> 
@font-face { 
    font-family: 'Conv_OptimusPrinceps'; 
    src: url('fonts/OptimusPrinceps.eot'); 
    src: local('☺'), url('fonts/OptimusPrinceps.woff') format('woff'), url('fonts/OptimusPrinceps.ttf') format('truetype'), url('fonts/OptimusPrinceps.svg') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

और मेरे variables.scss में यह मांग की। वर्तमान में मेरी फोंट मेरी सार्वजनिक निर्देशिका में जमा हो जाती है:

public/fonts/OptimusPrinceps.woff 
public/fonts/OptimusPrinceps.tff 
etc. 

किसी कारण मेरी देव उपकरण

Failed to decode downloaded font: http://localhost:3000/fonts/OptimusPrinceps.tff 
OTS parsing error: invalid version tag 

में यह चेतावनी दिखाई देता है के लिए और मेरे फ़ॉन्ट ठीक से लोड नहीं करता है।

+0

आप 'public_path() का उपयोग करने की कोशिश की' है: https://laravel.com/docs/5.2/helpers#method-public- पथ –

+0

नहीं, मैंने नहीं किया है, लेकिन एक समाधान की तरह दिखता है। मैं इसे अपने उदाहरण में कैसे कोड करूं? – user3818418

उत्तर

7

क्लाइंट ब्राउज़र को /public/ पर पहुंचने के लिए कुछ भी जगह दें। इसके लिए पूर्ण यूआरएल बनाने के लिए आप लैरवेल हेल्पर फ़ंक्शन public_path का उपयोग कर सकते हैं।
https://laravel.com/docs/5.2/helpers#method-public-path

उदाहरण के लिए, यदि आप /public/fonts/OptimusPrinceps.tff में अपने फ़ॉन्ट (जो आपके द्वारा किए गए) शब्दों में कहें, तो आप इसे दो तरह से उपयोग कर सकते हैं।

ब्लेड में:

<style type="text/css"> 
@font-face { 
    font-family: OptimusPrinceps; 
    src: url('{{ public_path('fonts/OptimusPrinceps.tff') }}'); 
} 
</style> 

सीएसएस में शामिल हैं:

@font-face { 
    font-family: OptimusPrinceps; 
    src: url('/fonts/OptimusPrinceps.tff'); 
} 

दूसरे उदाहरण में, आप किसी भी Laravel जादू, वास्तव में जरूरत नहीं है। बस पथ को बिल्कुल संदर्भित करें ताकि यह सही निर्देशिका को इंगित करे।

यह ध्यान देने योग्य है कि यह बूटस्ट्रैप और एससीएसएस के साथ काम करता है। मैं आमतौर पर /public/static/fonts/ में फोंट डालता हूं।

+0

मेरे पास अब एकमात्र मुद्दा यह है: 'स्थानीय संसाधन लोड करने की अनुमति नहीं है: फ़ाइल: /// ई:/मेनवेब% 20 डिज़ाइनप्रोजेक्ट्स%% सोलस्पब्लिक/फोंट/ऑप्टिमस प्रिंसप्स।tff' – user3818418

+0

यह एक ब्राउज़र क्रॉस-साइट शोषण मुद्दा है, न कि लैरवेल एक। आप एक ऐसे यूआरएल के माध्यम से अपने आवेदन तक पहुंच रहे हैं जो आपके ब्राउज़र को अपने संसाधनों को लोड करने की अनुमति नहीं देता है। – Josh

+0

आप अपने फ़ॉन्ट को अपने सार्वजनिक फ़ोल्डर में डाल सकते हैं – d3cypher

1

सीआर में लारावेल 5.4 में, मुझे /public को /fonts फ़ोल्डर से पहले काम करने के लिए जोड़ना पड़ा।

0

सार्वजनिक कीवर्ड जोड़ने के लिए जब आप नीचे दिए जोड़ने कृपया laravel में कस्टम फ़ॉन्ट सहित:

supose फ़ॉन्ट पथ सीएसएस/फोंट/सार्वजनिक निर्देशिका में PROXIMA-नोवा-प्रकाश-59f99460e7b28.otf है तो का उपयोग के रूप में

@font-face { 
    font-family: 'proxima-nova'; 
    font-style: normal; 
    font-weight: 900; 
    src: url('../public/css/fonts/proxima-nova-light-59f99460e7b28.otf'); 
} 

तो तुम सार्वजनिक निर्देशिका में ../public/ + फ़ॉन्ट पथ का उपयोग कर सकते हैं। यदि आपको कोई समस्या है तो कृपया मुझे अपना फ़ॉन्ट पथ बताएं मैं इसके लिए आपको पथ अपडेट करूंगा।

0

webpack.mix.js में यहाँ जोड़ने

mix.copyDirectory('resources/assets/fonts', 'public/fonts'); 

पूर्ण दस्तावेज़: https://laravel.com/docs/5.5/mix

संबंधित मुद्दे