2015-12-26 8 views
7

Magento2の新機能で、MagentoでRequireJSがどのように機能するかを理解しようとしています。ここで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 

私のジャバスクリプトは、次の場所にあります。PHTMLファイルで

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 

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

私はブラウザに私のページをチェックすると、私は404を得る:

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

私はラインを追加しましたパスのエラー:

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のローカルで非常によく似た問題を助けるかもしれません。/staticブロックは正しく書き換えられていませんでした。このコメントごとに追加する必要がありました。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"; 
} 
関連する問題