Noesworthy

Nextとかいうフロント音痴に優しいフレームワーク

Next.js、今年はMotiaっていうフレームワークに覇権奪われたらしいけど

Motiaってガチのサーバーサイドフレームワークなんやね

イベントの概念が整理されてて使いやすそぃ

でもレンダリングとかやる用ではなさそう

SPAでなくてSSRしたいならNextやSvelteはまだまだ便利そぃ

今日知ったけどNext.jsって

package.jsonにbrowserslistっていうパラメーターを書くとそこで指定されたどのブラウザでアクセスしても不具合が起きないように関数を追加してくれるらしい

たとえばSafari 11以前だと、Array.flatっていう関数に対応してない

なのでそのままコードないでArray.flatを呼び出すと未定義エラーになるのでNext.jsが用意したpolyfillを一緒にダウンロードさせる

// flatがなければ自分で定義
if (!Array.prototype.flat) {
  Array.prototype.flat = function(depth = 1) {
    const result = [];
    const flatten = (arr, d) => {
      for (const item of arr) {
        if (Array.isArray(item) && d > 0) {
          flatten(item, d - 1);
        } else {
          result.push(item);
        }
      }
    };
    flatten(this, depth);
    return result;
  };
}

最新ブラウザでアクセスしてもそのバンドルがダウンロードされちゃうとか

そもそもpolyfill使っても古いブラウザだと動かないとか

問題はあるみたいだけど

いったんカバレッジ確保したいあーしのようなフロント音痴にはめっちゃ便利ぃ

#blog #tech