タグ付けされた質問 「requirejs」

JSの必要性に関する質問を示します。RequireJSは、JavaScriptファイルおよびモジュールローダーです。ブラウザー内での使用に最適化されていますが、他のJavaScript環境でも使用できます。

4
Magento 2-最近表示したウィジェットにスリックスライダーを適用する方法
コードを作成しましたが、最近表示した製品にスライダーが表示されません。 これが私のコードです- 次のリンクからスリックjsとcssをダウンロードしました。http ://kenwheeler.github.io/slick/ 次に、私は次のことを行いました- ステップ1 - slick.min.jsとslick.jsをコピー app / design / frontend / _YOUR_VENDOR _ / _ YOUR_THEME_ / web / js / ステップ2 - requirejs-config.jsファイルを作成します app / design / frontend / _YOUR_VENDOR _ / _ YOUR_THEME_ / web / requirejs-config.jsに次のコードを追加 var config = { paths: { slick: 'js/slick' …

2
JSウィジェット:2つのカスタムウィジェットが同じ親ウィジェットMagento 2を拡張
前提条件 同じ親ウィジェットを拡張する2つのカスタムウィジェットがあります。 親ウィジェット: Magento_ConfigurableProduct/js/configurable 最初のカスタムウィジェット: Vendor_AModule/js/configurable 2番目のカスタムウィジェット: Vendor_BModule/js/configurable 最初のカスタムウィジェットrequire-config.js: var config = { map: { '*': { configurable: 'Vendor_AModule/js/configurable' } } }; 最初のカスタムウィジェットJS: define([ 'jquery', 'mage/translate', 'Magento_ConfigurableProduct/js/configurable' ], function ($) { $.widget('vendor.configurable_awidget', $.mage.configurable, { /** * {@inheritDoc} */ _configureElement: function (element) { this._super(element); alert('Custom widget A is triggered!'); } }); …

2
Magento 2:チェックアウトステップの変更を検出する方法
Magento 2のチェックアウトにおけるステップの変化を検出する最良の方法を見つけようとしています。たとえば、配送の詳細から支払い、またはその逆の場合です。 私はいくつかの掘削を行い、でてきたvendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.js私が使用することができnext()た火災ボタンを継続し、上のnavigateTo()どの火災直接checkoutstepをユーザーがクリックするとき-しかし、どちらの方法も、むしろハックようだが、ステップ変化を検出するためのクリーンな方法がなければならないに関係なく、どのようにそしてどのステップ。 私はstepChange()、チェックアウトステップの変更が発生するたびに起動する関数または同様のものを期待していました。 私の質問: チェックアウトステップの変更が発生したときにカスタムJSをトリガーする最良の方法は何ですか?

4
require-config.jsを使用して、すべてのページで必要なファイルをロードします
require-config.jsカスタムテーマでの使用方法は知っていますがmyfile.js、すべてのページでカスタムJavaScriptファイル()を使用したいと思います。追加する必要があるディレクトリrequire-config.jsとその使用方法を教えてください。 Magentoの公式ページは参照しないでください。

2
magento 2でカスタムモジュールjsファイルをロードする方法
magento 2用のバナースライダーモジュールを作成しました。JSファイルを次の方法で呼び出し、正常に動作しました。ブロッククラスで次の関数を作成しました public function getBaseJs($fileName){ return $this->_storeManager->getStore()->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_MEDIA ).'bannerslider/js/'.$fileName; } この関数はbannerslider.phtml、次のようにファイルで呼び出されます。 <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery-1.7.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery.flexslider.js') ?>"></script> しかし、require.jsHow do can do it itのjQuery依存メカニズムによると?

1
Magento_Ui / js / lib / knockout / extender / bound-nodes RequireJS Moduleは何をしますか?
Magento 2のKnockout.jsブートストラップモジュールには、define依存関係を介して次のモジュールが含まれています。 Magento_Ui/js/lib/knockout/extender/bound-nodes 技術的には、このモジュールはko.applyBindingsおよびko.cleanNodeメソッドのラッパーを作成します。これらのラッパーは、特定のビューモデルとノードをプライベートJavaScript WeakMapに隠しておき、内のアイテムにアクセスできるようにする単一のレジストリオブジェクトを返しますWeakMap。 ただし、エンドユーザープログラマーが直面している機能によってこれが可能になるかどうかは明らかではありません。ここの誰かがMagento_Ui/js/lib/knockout/extender/bound-nodesモジュールが実際に何のためにあるのか知っていますか?または、Knockout.jsの内部に十分慣れていて、物事を理解できますか?

1
uiElementオブジェクトのインポート/エクスポートの「デフォルト」は何ですか?
Magento 2の多くのUI Elementビューモデルコンストラクターでは、defaults配列にimportsor exportsプロパティがあります。 return Collection.extend({ defaults: { //... imports: { rows: '${ $.provider }:data.items' }, return Insert.extend({ defaults: { //... exports: { externalFiltersModifier: '${ $.externalProvider }:params.filters_modifier' }, uiElementモジュールのソースを見て、 #File: vendor/magento/module-ui/view/base/web/js/lib/core/element/element.js initLinks: function () { return this.setListeners(this.listens) .setLinks(this.links, 'imports') .setLinks(this.links, 'exports') .setLinks(this.exports, 'exports') .setLinks(this.imports, 'imports'); }, これらのインポート/エクスポートは、オブジェクトがインスタンス化されたときのオブジェクト間の「リンク」情報と関係があるようです。ただし、このリンクのしくみ(uiRegistryベース?)や、文字列の構文はどのようなものかは明確ではありません${ $.provider }:data.items。これらの文字列がテンプレートリテラルを使用することは明らかです。 foo_bar:data.items …

3
MagentoはRequireJSモジュール名をどのように/どこでURLに変換しますか?
Magento 2では、RequireJSを使用して、次のようなコードを持つJavaScriptモジュールを含めることができます。 #File: app/code/Package/Name/view/frontend/requirejs-config.js var config = { map: { '*': { modulename: 'Package_Name/js/path/to/file' } } } 一方でrequirejs-config.jsファイルがMagentoの2魔法のビットで、これは標準RequireJSように見えます。基本的に、短い名前modulenameをという名前のJavaScriptモジュールにマッピングしますPackage_Name/js/path/to/file。 明確でないのは、 Magento 2が上記のJavaScriptモジュール名をどこでどのように変換するかです。 Package_Name/js/path/to/file HTTP(S)URLに //magento.example.com/static/frontend/Magento/luma/en_US/Package_Name/js/path/to/file.js 標準のRequireJSシステムでは、RequireJSは次のURLをロードしようとします //magento.example.com/Package_Name/js/path/to/file.js したがって、上記のURLがMagentoフロントエンドURLに確実に変換されるようにするために、Magentoが何らかの処理を行っていることは明らかです。はっきりしないのは これが起こる場所(PHPレイヤー?JavaScriptレイヤー?) その変換のルールは何ですか。RequireJSモジュールが標準のMagentoファイル識別子(Package_Name::js/path/to/file)のように見えない したがって、Magento 2 / RequireJSはどのように/どこでモジュールをパスに変換しますか?

2
magento 2にjQueryデータテーブルを追加する
requirejsを使用して、magento-2フロントエンドでjquery DataTablesを使用しようとしています。netbles.min.jsファイルがネットパネルに表示されます が、どういうわけか次のエラーが発生します。 私reuirejs-config.jsはこのように見えます var config = { map: { '*': { dataTable: 'Ktpl_Slider/js/datatables.min' } } }; そして、私はこの関数をテンプレートファイルで次のように呼び出しています <script type="application/javascript"> requirejs(['jquery','dataTable'],function($){ $(document).ready(function(){ $('#list-table').DataTable(); }); }); </script> 私はjsファイルをロードする順番に問題があると思います。シム構成を試してみましたが、うまくいきませんでした。シム構成に誤りがある可能性があります

1
コアモジュールjavascript magento 2の置き換え
次のコードを使用して、コア検索モジュールjsをカスタムモジュールに置き換えます。 var config = { map: { '*': { 'quickSearch':'All_Search/form-mini' } } }; ページのソースからrequirejs-config.jsファイルを確認すると、設定が上部のファイルに挿入されていることがわかりました (function(require){ (function() { var config = { map: { '*': { 'quickSearch':'All_SearchAutoComplete/form-mini' } } }; コアモジュールの設定はファイルの真ん中にあり、コア/デフォルトファイルをロードします。モジュール名をAllからZallに変更した場合、または何かがアルファベット順にソートされた場合、正しく機能しません。この問題の解決方法。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.