vektor-inc / vk-blocks-pro

11 stars 3 forks source link

分割読み込みじゃなくても特定のブロックのCSSが個別で読み込まれている #2242

Closed kurudrive closed 5 days ago

kurudrive commented 1 week ago

https://github.com/vektor-inc/vk-blocks-pro/pull/2241

で @mtdkei さんが書いた内容 ↓

今回の変更とは関係ないとは思うのですが、以下のブロックで依然として個別のCSSが生成されていました。

上記の共通点としては、以下の処理があることが確認できました。以下の処理はトリアージの際に必要性があった感じがしたのですが、このプルリクの変更に伴って何か使われ方を変えたほうがいいとかありますでしょうかね。 block.js

    "editorScript": "vk-blocks-build-js",
    "editorStyle": "vk-blocks-build-editor-css",
    "style": "vk-blocks/tab",

index.php

    // クラシックテーマ & 6.5 環境で $assets = array() のように空にしないと重複登録になるため
    // ここで初期化しておく
    $assets = array();
    // Attend to load separate assets.
    // 分割読み込みが有効な場合のみ、分割読み込み用のスクリプトを登録する
    if ( method_exists( 'VK_Blocks_Block_Loader', 'should_load_separate_assets' ) && VK_Blocks_Block_Loader::should_load_separate_assets() ) {
        $assets = array(
            'style'         => 'vk-blocks/tab',
            'script'        => 'vk-blocks/tab-script',
            'editor_style'  => 'vk-blocks-build-editor-css',
            'editor_script' => 'vk-blocks-build-js',
        );
    }
sysbird commented 6 days ago
  • スライダー(swiperではなく)

ではこの処理入ってないようです このところ気になっておりましたので、横からすみません

drill-lancer commented 6 days ago

@sysbird 例の処理は入ってませんでしたが、分割読み込みの有無関係なく分割読み込み用の CSS が読み込まれる様になっていました。

drill-lancer commented 6 days ago

こんな感じの書き方に統一するのが良さそうです。

block.json

    "editorScript": "vk-blocks-build-js",
    "editorStyle": ["vk-swiper-style", "vk-blocks-build-editor-css"],
    "style": "vk-blocks-build-css",

index.php

    // クラシックテーマ & 6.5 環境で $assets = array() のように空にしないと重複登録になるため
    // ここで初期化しておく
    $assets = array();
    // Attend to load separate assets.
    // 分割読み込みが有効な場合のみ、分割読み込み用のスクリプトを登録する
    if ( method_exists( 'VK_Blocks_Block_Loader', 'should_load_separate_assets' ) && VK_Blocks_Block_Loader::should_load_separate_assets() ) {
        $assets = array(
            'style_handles'         => array( 'vk-blocks/slider' ),
            'script_handles'        => array(),
            'editor_style_handles'  => array( 'vk-swiper-style', 'vk-blocks-build-editor-css' ),
            'editor_script_handles' => array( 'vk-blocks-build-js' ),
        );
    }

    register_block_type(
        __DIR__,
        $assets
    );

ちなみに、index.php の場合、下記の書き方は非推奨っぽいです。( deprecated )

            'style'         => 'vk-blocks/tab',
            'script'        => 'vk-blocks/tab-script',
            'editor_style'  => 'vk-blocks-build-editor-css',
            'editor_script' => 'vk-blocks-build-js',
goutetsuguma commented 5 days ago

修正ありがとうございました!マージしましたのでCloseします