Next.js– tag –
-
package.jsonにtype: moduleを指定して、CommonJSへの依存を減らしました
開発
こんにちは、フロントエンドエンジニアの小張(@kobari41257)です。 PR TIMESのフロントエンドはpnpm workspaceを用いたモノレポ(以下prtimes-frontend)で開発されていますが、ほぼ全てのworkspace packageでpackage.jsonのtypeが指定されていませんでした。 そのため、Next.jsがCommonJSランタイムで実行されていたり、モジュール解決に不要なコストが発生するリスクを抱えていました。 今回全てのpackage.jsonに"type": "module" を指定し、上記のようなCommonJSに依存した挙動をなくし、モジュール解決の不... -
PR TIMESのトップページをNext.jsにリプレイスしました
開発
こんにちは、フロントエンドエンジニアのやなぎ( @apple_yagi )です。 プレスリリース掲載ページ、キーワード検索ページに続き、PR TIMESのトップページを PHP + Smarty + jQuery から Next.js(Pages Router)にリプレイスしました。 https://developers.prtimes.com/2023/12/13/replace-press-release-page-with-nextjs/ 本エントリーではトップページをリプレイスするにあたり、使用したライブラリや、キャッシュの設定などについてご紹介します。 【SP用ページで使用するカルーセルライブラリの選... -
PR TIMES のフロントエンドを支える技術 2023
開発
こんにちは。PR TIMES でエンジニアをしている岩元 (@yoiwamoto) です! プレスリリース配信サイト PR TIMES のフロントエンドは、一昨年ごろまでほぼ全てのページが Smarty + jQuery on PHP で実装されており、直近1、2年は機能追加・改修に合わせてこれらを順次 React 実装にリプレイスを進めています。 このような取り組みをどのような技術構成で行っているか、2023年の振り返りの意味も込めてざっくりと紹介します! 【リポジトリ構成】 React 実装は、これまでメインのバックエンドサーバーとのモノリスで構... -
BFCacheを利用してNext.jsで実装した無限スクロールのUX改善をした話
開発
こんにちは、フロントエンドエンジニアのやなぎ( @apple_yagi )です。 先日、【月間9000万PV】プレスリリース掲載ページの Next.js 移行でやったこと、という記事が公開されました。こちらのブログの最後に軽く触れられていますが、プレスリリース掲載ページより前にキーワード検索ページのNext.js移行を行っていました。 https://developers.prtimes.com/2023/12/13/replace-press-release-page-with-nextjs/ 本エントリーではキーワード検索ページをNext.js移行したモチベーションなどは割愛させていただきま... -
【月間9000万PVのPR TIMES】プレスリリース掲載ページの Next.js 移行でやったこと
開発
こんにちは!PR TIMES 開発本部フロントエンドエンジニアの岩元 (@yoiwamoto) です。 先日、月間9000万 PV のプレスリリース配信サイト PR TIMES で、もっともアクセスが多い「プレスリリースページ」の実装を、PHP + Smarty + jQuery から Next.js に移行しました。 今回はこれについての詳細や難しかったことなどを共有します。 【背景と目的】 PR TIMES の Web アプリケーションのフロントエンドは、この数年、必要な部分から随時ページ単位で React 実装へのリプレイスが進んでいる状態で、まだ多くのページで... -
chatbot-ui で ChatGPT を社内利用できるようにしました
開発
こんにちは。PR TIMES 開発本部フロントエンドエンジニアのいわもと (@yoiwamoto) です。ChatGPT を業務で利用するために、OSS の chatbot-ui を社内でセルフホストして公開しました。 以下は2023年4月5日時点の情報で、今後組織向けにプランなどが改善される可能性は大いにあります。 【ChatGPT を会社で利用するハードル】 ChatGPT は OpenAI が公開した大規模言語モデルおよびチャットアプリケーションで、うまく活用すれば業務効率を大きく向上させる余地があります。 ただし、会社などでの業務利用となると、...
1
