node_modulesについて詳しく知りたいです。
私の現状の理解だと、npmなどでインストールした開発に必要なライブラリなどのバージョンの依存関係を管理しているフォルダ群という感じです。
今回質問した経緯としては、https://github.com/liady/webpack-node-externals こちらのリポジトリを見ていて、気になる文面があったからです。
Webpack allows you to define externals - modules that should not be bundled. When bundling with Webpack for the backend - you usually don't want to bundle its node_modules dependencies. This library creates an externals function that ignores node_modules when bundling in Webpack. (Inspired by the great Backend apps with Webpack series) --- バックエンドをWebpackでバンドルする場合、通常はnode_modulesの依存関係をバンドルしたくありません。このライブラリは、Webpackでバンドルする際にnode_modulesを無視するexternals関数を作成します。 このライブラリは、Webpack でバンドルする際に node_modules を無視する externals 関数を作成します。
backendでは依存関係をバンドルしたくないというのはどういうことでしょうか?
フロントエンドでもバンドルしたくないのでは?
稚拙な質問で恐縮ですがお答えいただけると幸いです????♂️
Backend apps with Webpack のところからリンクされてる記事 https://archive.jlongster.com/Backend-Apps-with-Webpack--Part-I を読むと、バックエンドでは node_modules が存在することを前提に動的に require したりするから、というようなことが書いてありますね。
例えば express で app.set('view engine', エンジン名); してる場合、実際に require する view engine は実行時に決まるので、事前にバンドルしようがないってことでしょう。
なるほど、事前にバンドルができない問うことですね!
記事も貼っていただきありがとうございます!
![guest](/img/icon/icnUserSample.jpg)