Magento2 मेरी आवश्यकताएँ-config.js नहीं पढ़ रहा है


17

नमस्ते, मैं Magento2 के लिए नया हूं और यह जानने की कोशिश कर रहा हूं कि Magento में कैसे काम करता है।

यहाँ मेरी स्थिति है:

मेरे पास निम्नलिखित मॉड्यूल हैं:

app/code/Mymodule/Test/view/frontend/requirejs-config.js

यहाँ इस फ़ाइल की सामग्री है:

var config = {
map: {
    '*': {
        jQuery110: "Mymodule_Test/js/jquery-1.10.2",
        jqueryNoConflict: 'Mymodule_Test/js/jquery.no-conflict',
        flexslider: 'Mymodule_Test/js/jquery.flexslider-min',
        header: 'Mymodule_Test/js/store/header'
    }
}
};

मेरा विषय इस स्थान पर है:

app/design/frontend/Mycompany/Basic

मेरे जावास्क्रिप्ट निम्नलिखित स्थान पर हैं:

app/code/Mymodule/Test/view/frontend/web/js/jquery.no-conflict.js
app/code/Mymodule/Test/view/frontend/web/js/jquery.flexslider-min.js
app/code/Mymodule/Test/view/frontend/web/js/store/header.js

PHTML फ़ाइल में:

app/code/Mymodule/Test/view/frontend/templates/home.phtml

मैंने लाइनें जोड़ीं:

require(['jqueryNoConflict', 'flexslider'],function($, flexslider){
    (function($) {
        $(window).load(function () {
            $('.flexslider').flexslider();
        });
    })(jQuery);
});

जब मैं ब्राउज़र में अपने पृष्ठ की जांच करता हूं, तो मुझे पथ के साथ 404 त्रुटि मिलती है:

http://mag2.com.local/pub/static/frontend/Mycompany/Basic/en_US/flexslider.js

लेकिन अगर मैं इसके लिए आवश्यकता [] लाइन को बदलूं:

 require(['Mymodule_Test/js/jquery.no-conflict', 'Mymodule_Test/js/jquery.flexslider-min'],function($, flexslider){
        (function() {
            $(window).load(function () {
                $('.flexslider').flexslider();
            });
        })(jQuery);
    });

फाइलें लोड हो रही हैं।

मैंने कैश भी साफ़ कर दिया, मेरा विषय सही है, मैंने कमांड निष्पादित किया:

php bin/magento setup:static-content:deploy

इसलिए, मैं यह पता लगाने में सक्षम नहीं हूं कि मेरी आवश्यकताएं- config.js लोड क्यों नहीं कर रही हैं। मैंने प्रलेखन का भी पालन किया।

कृपया सहायता कीजिए


क्या होगा यदि आप सभी पेजों पर कुछ कस्टम js फ़ाइल का उपयोग करना चाहते हैं, मॉड्यूल से संबंधित नहीं है? इसे करने का सही तरीका क्या है? कृपया, मुझे Magento के आधिकारिक पृष्ठ का संदर्भ न दें।
ित्र

जवाबों:


27

मुझे समस्या मिल गई।

पब / स्टेटिक / _requirejs / frontend / Namespace / Theme / en_US के तहत , फ़ाइल को जरूरीjj -config.js हटाएं ।

अपने पृष्ठ को ताज़ा करें और इसे फिर से नई सामग्री के साथ जनरेट किया जाएगा।

यदि यह रिक्जेक्शंस को नहीं हटाता है, तो config.js और निम्न कमांड चलाएं:

php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento setup:di:compile

क्या प्रोटोटाइप को शामिल करना संभव है। जेएस?
Sl पर स्लीमशेड्डी

धन्यवाद .. यह मेरे लिए काम करता है .. :) मुझ से
प्रशांत पाटिल

11

समस्या यह है कि आपने डेवलपर मोड को सक्षम नहीं किया है। परिणामस्वरूप, फ़ाइलें कैश pub/staticफ़ोल्डर में है।


7
डेवलपर मोड को सक्षम करने के लिए आप CLI php bin / magento परिनियोजन
भूपेंद्र जडेजा

6

Deploy कमांड के बाद, आपको डेवलपर मोड और क्लियर कैश सेट करना होगा। इसका काम ठीक है।

php bin/magento deploy:mode:set developer && php bin/magento cache:clean

प्रभाव देखने के लिए ब्राउज़र कैश भी साफ़ करें।


1

यह किसी और के साथ स्थानीय रूप से nginx पर एक समान मुद्दे के साथ मदद कर सकता है। / स्टेटिक ब्लॉक सही तरीके से नहीं लिख रहा था और इसे इस टिप्पणी के साथ जोड़ना आवश्यक था https://github.com/magento/magento2/issues/7869#issuecomment-268585438

location /static/ {
    if ($MAGE_MODE = "production") {
      expires max;
    }

    # Remove signature of the static files that is used to overcome the browser cache
    location ~ ^/static/version {
      rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
    }

    location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
      add_header Cache-Control "public";
      add_header X-Frame-Options "SAMEORIGIN";
      expires +1y;

      if (!-f $request_filename) {
        rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
      }
    }

    location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
      add_header Cache-Control "no-store";
      add_header X-Frame-Options "SAMEORIGIN";
      expires off;

      if (!-f $request_filename) {
         rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
      }
    }

    if (!-f $request_filename) {
      rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }

    add_header X-Frame-Options "SAMEORIGIN";
}

0

कृपया सुनिश्चित करें कि .htacessफ़ाइल pub/staticफ़ोल्डर में मौजूद है । और उसके बाद तैनाती आदेश लागू करें।


-1

आप नीचे दिए गए चरणों का पालन कर सकते हैं और यह ठीक हो जाएगा।

1) उत्पादन के लिए तैनाती मोड सेट करें - php magento परिनियोजित: मोड: सेट उत्पादन (js और css minification उत्पादन मोड के साथ काम करेगा। यदि आप डेवलपर मोड में हैं तो कोड के साथ ऊपर दिए गए मुद्दे ऊपर दिखाए जाएंगे जैसा कि मैंने अनुभव किया है। डेवलपर मोड रख सकते हैं। इसके अलावा index_php में print_r ($ _ SERVER) का उपयोग करके सत्यापित करें कि उत्पादन मोड या डेवलपर मोड सही ढंग से वेबसाइट लोड करने से पहले सेट किया गया है)

2) सर्वर में सभी कैश सेटअप को साफ़ करें

  • /etc/init.d/nginx पुनरारंभ करें
  • /etc/init.d/php5.6-fpm पुनः आरंभ करें
  • /etc/init.d/varnish पुनः आरंभ करें

3) ब्राउज़र कैश को साफ़ करें और इसे गुप्त मोड में देखें। बस!

चीयर्स!


ओपी उल्लेख नहीं करता है कि क्या अपाचे या Nginx का उपयोग किया जाता है। यह अपाचे है यह मान लेना लगभग सुरक्षित है।
क्रिस के
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.