我开始在使用webpack
的node/express
环境中开发ReactJS
服务器端渲染的应用程序react-router
。我对每个Webpack包在开发和生产(运行时)环境中的作用感到非常困惑。
这是我的理解摘要:
webpack
:是一个软件包,是一种工具,用于将Web应用程序的不同部分结合在一起,然后捆绑成一个.js文件(通常是bundle.js
)。然后,结果文件将在产品环境中提供以由应用程序加载,并包含运行代码的所有必需组件。功能包括缩小代码,缩小代码等。
webpack-dev-server
:是一个提供服务器以处理网站文件的软件包。它还bundle.js
从客户端组件构建单个.js文件(),但将其提供给内存。它还具有选项(-hot
)来监视所有构建文件并在代码更改的情况下在内存中构建新的捆绑软件。服务器直接在浏览器中提供服务(例如:)http:/localhost:8080/webpack-dev-server/whatever
。内存加载,热处理和浏览器服务的结合使用户可以在代码更改时在浏览器上更新应用程序,非常适合开发环境。
如果我对上面的文字有疑问,我真的不确定下面的内容,因此如有必要请告诉我
当使用一个常见的问题webpack-dev-server
有node/express
是webpack-dev-server
一个服务器,是node/express
。这使得该环境很难同时运行客户端和某些节点/表达代码(API等)。注意:这就是我所面临的,但是如果能理解为什么会更详细地了解这一点,将非常高兴...
webpack-dev-middleware
:这是一种中间件,具有webpack-dev-server
(内存捆绑,热重装)相同的功能,但格式可以插入到server/express
应用程序中。这样,您就可以webpack-dev-server
在节点服务器内部拥有某种服务器()。 糟糕:这是一个疯狂的梦想吗???这一部分如何解决dev和prod方程并使生活更简单
webpack-hot-middleware
:这... 卡在这里...在寻找时发现了这件作品webpack-dev-middleware
...不知道如何使用它。
ENDNOTE:对不起,有什么错误的想法。我真的需要帮助,以便在复杂的环境中理解这些变体。如果方便,请添加更多可构成整个方案的软件包/数据。
webpack-dev-middleware
(并可能使用webpack-hot-middleware
)。除非您webpack-dev-server
没有想要的特定功能,否则应该使用它。