Node.jsで開発を行う時はモジュール化を使ってコードを理解しやすくしたいですが、外部に提供となると、簡単にソースコードを変更できない状態にしておきたいものです。 ここでは、webpackを使ってNode.jsの実行ファイルをひとつにまとめる方法を紹介します。ひとつにまとめたファイルは改行が削除されたり、変数の置き換えなどがあり、理解しにくいものになります。webpackのインストール npm installwebpackwebpack.config コンフィグファイル(webpack.config.js)を作成し、次のように記載します。 const path = require('path'); const nodeExternals = require('webpack-node-externals'); module.exports = { mode: "production

const nodeExternals = require('webpack-node-externals'); ... module.exports = { ... target: 'node', // in order to ignore built-in modules like path, fs,etc. externals: [nodeExternals()], // in order to ignore all modules in node_modules folder ... }; And that'sit. All node modules will no longer bebundled but will be left as require('module').Note: ForWebpack 5, replace target: 'node' with t

人気のJavaScriptバンドルツール「webpack」の開発はなぜ終わり、後継として「Turbopack」の開発が始まったのか。開発者がその理由を語る 複数のJavaScriptやTypeScriptの依存関係などを解決し、コードやフォント、画像などのリソースなどをまとめるバンドルツール(あるいはモジュールバンドラやビルドツールなどとも呼ばれます)は、多数のライブラリやコンポーネントなどを用いてチームで開発するWebアプリケーションの開発には欠かせないツールとなっています。 そのバンドルツールの代表がwebpackです。約4万人のITエンジニアによるアンケート結果が示された「State ofJavaScript2022」でもwebpackはGulpやViteなどを抑えて最も人気のあるバンドルツールとなっています。 参考:「State ofJavaScript2022」公開。利用

Vercel、Webpack後継を目指す、Rustベースの「Turbopack」をリリースJavaScriptフレームワークNext.jsの開発などで知られるホスティングサービス企業Vercelは2022年10月25日、Rustベースで高速に動作する新たなモジュールバンドラ「Turbopack」をリリースした。これはNext.jsでのアプリ開発を高速化するため、JavaScriptモジュールバンドラWebpackを置き換えるもの。Webpackの700倍の速さを実現 同社によると、大規模なアプリケーションではTurbopackはWebpackの700倍高速に更新が表示されるとのこと。これは同社のビルドツールTurborepoなどで培われた各種キャッシュ最適化の技術を用いて実現されている。 TurbopackをNext.js 13開発サーバーで使用することで、超高速なホットリロード(HM
IE終了により、webpackやbabelを使う必要がなくなるのか、フロントエンドからビルドステップを完全に消し去ることはできるのか。 そもそもなぜフロントエンドを「ビルド」していたのか そもそもなぜwebpackやbabelを使ってJavaScriptをバンドル(1ファイルにまとめる)していたのか 1. HTTP/1.1とモジュールシステムの相性の悪さ ブラウザにはES Moduleというモジュールシステムが導入されています。これはimport文で他のファイルを読み込むことができるシステムです。 HTTP/1.1については、ブラウザ側で同時接続数制限があります。これは、ファイルを多数読み込む必要があるES Modulesには不向きでした。 2. ブラウザのES Module対応率の低さ ES ModulesはIE非対応です。開発するWebサイトがIEをターゲットにしたい場合、ES Mod

webpack is 何?webpack とは、一言で言うとJavaScript 向けのモジュールバンドラーです。 複数のJavaScript モジュールを一つ(またはいくつか)のファイルへバンドル(=bundle: 束にする、包む)してくれます。 複数の JS モジュールを(場合によってはCSS や画像などのアセット類も)一つにまとめる 使うメリットは何? モジュールを 1 つ(もしくは少数)にまとめることでブラウザからのリクエスト数を減らし、ファイル転送の効率が向上します。 ES Modules や CommonJS 形式のモジュールなど、さまざまな形式のモジュールに対応しています。 上記の JS モジュールのみならず、CSS や画像ファイルもバンドルすることができます。 とりあえずwebpack を使ってみる

こんにちは。フィナンシャル開発センターの鈴木です。LINE証券のフロントエンドを担当しています。この記事は【LINE証券 FrontEnd】シリーズの4番目の記事です。 最近のWeb Vitalsの隆盛を受けて、LINE証券のフロントエンドでもパフォーマンスの改善に取り組み始めました。およそ2週間ほど改善に取り組んだ結果として、開発環境での計測ではLighthouseのperformanceスコアが従来より30点ほど上昇しました。 パフォーマンス改善のためにさまざまな施策を行いましたが、この記事ではその中でも興味深かったものとして、requestIdleCallbackを活用してLazy Loadingされるコンポーネントの読み込みを遅延し、その結果初期レンダリングにかかる時間を約14%削減できた事例をご紹介します。 環境 以前の記事でご紹介したとおり、LINE証券のフロントエンドはTyp

はじめに リクルートテクノロジーズに4月に新卒入社した 辻 健人です.GitHubではmaxmellonで活動しています. 7月より,やりとりも作成もラクになるシフト管理サービス「Airシフト」 のエンハンス開発を担当しています. 以前は,React製SPAのパフォーマンスチューニング実例という内容で記事を書きました. 今回は同じSPAにおいて,いかにwebpackが生成するJavaScriptのバンドルサイズを減らすかについて紹介していきます.webpackが,そもそも何のためのツールか,バンドルする理由などについては割愛させていただきます. そういった話は,こちらの記事 (Webpack の考え方について – mizchi’sblog) がわかりやすいと思います.AirシフトのアーキテクチャAirシフトは,React-Reduxで開発されており,かつSSRを行っておりコードの大
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く