2015-12-26 59 views
7

我是Magento2的新手,並試圖弄清楚RequireJS是如何在Magento中工作的。Magento2不能讀取我的requirejs-config.js

這裏是我的情況:

我有以下模塊:

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 

級我的Javascript是在以下位置:

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 []行更改爲:

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 

所以,我無法弄清楚,爲什麼我的requirejs-config.js沒有加載。我也跟着文檔。

回答

10

我發現了這個問題。

酒吧/靜態/ _requirejs /前端/命名空間/主題/ EN_US,刪除文件requirejs-config.js

刷新你的頁面,它會再次生成新的內容。

+0

謝謝。對我來說它被緩存了鉻 –

+0

你救了我的一天! –

0

這可能會幫助其他人在本地與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"; 
}