cookie-universalのオプションの初期値
NuxtでCookieを扱うモジュールの中でおそらくもっともポピュラーなcookie-universal-nuxt。
このモジュールのコアパッケージの cookie-universal だが、オプションの初期値の指定が紛らわしかったのでメモ。
https://github.com/microcipcip/cookie-universal/blob/master/packages/cookie-universal/index.js#L47
cookie-universalの各種取得・設定系メソッドは次のように定義されている。
code:cookie-universal/index.js
set(name = '', value = '', opts = { path: '/' }) {
https://github.com/microcipcip/cookie-universal/blob/master/packages/cookie-universal/index.js#L47
オプションが省略された場合のみ、path: '/' が初期値として設定されるようだ。
つまり、つぎのようにパスを気にせず書いた場合に挙動がずれることになる。
code:js
cookies.set('foo', 'bar'); // ルートパスにCookieがセット
cookies.set('baz', 'qux', { domain: 'team-lab.com' }); // カレントパスにCookieがセット
紛らわしい。
おそらく、フロントが扱うCookieなんてすべてのパスから参照できて良いと思うので、cookie-universalを使用する場合は常に path: '/' を指定するようにしたほうが安全だろう。
#nuxt #cookie
Created by tamuraryoya