Webpack是否在前端和后端均可工作?

时间:2019-05-13 12:27:35

标签: node.js angular webpack webpack-dev-server webpack-4

在他们打包的网站上,其定义为:

  

webpack是一个模块捆绑器。它的主要目的是捆绑JavaScript文件以供在浏览器中使用,但它也能够转换,捆绑或打包几乎任何资源或资产。

我的困惑从this answer开始。它将webpack-dev-server描述为:

  

Webpack Dev Server本身是一个快速服务器,它使用webpack-dev-middleware来提供最新的捆绑软件,并另外处理客户端中实时模块更新的热模块替换(HMR)请求。

使用webpack来“编译” Express,还是一种告诉Express前端发生变化的方法?

当我看着this project时,我的困惑甚至更深了,并且(根据他们的package.json文件)他们使用了webpack-dev-server,但是我看不到安装了任何webpack。这是怎么回事?您可以在没有Webpack的情况下使用webpack开发服务器吗?

最后我的最后一个问题是其中的webpack是否附带了angular或您需要安装它才能使用它?

2 个答案:

答案 0 :(得分:1)

首先,webpack是一个编译器,而不是一个库。这意味着它将不同的部分编译到一个js文件中(为了说明,我现在简化了)。编译后,您可以根据需要使用该文件。

Webpack Dev Server是附加工具。它使使用webpack更加容易。在webpack编译后,它的作用是将您的捆绑代码与localhost服务器(使用express)一起吃午餐。您也可以添加热模块更换(HMR)。该作品将在不破坏整个捆绑包的情况下即时更新您的捆绑包(速度会更快)。

关于“无webpack”的示例:他们使用series是懒惰的开发人员的另一种工具,他们一开始就希望破坏项目,因为他们不想花3个小时来学习webpack。他们没有将webpack作为依赖项,因为angular-devkit/build-angular拥有它。

最后,我的最后一个问题是其中的webpack附带了angular还是需要安装它才能使用它? -您需要自己安装angular。

答案 1 :(得分:1)

  

是使用webpack进行“编译”表达还是一种判断方法   表示前端有变化吗?

当前端代码发生更改时,webpack开发服务器将侦听该更改并重新加载您的内容

  

这是怎么回事?您可以在没有Webpack的情况下使用webpack开发服务器吗?

Webpack-dev-server依赖于webpack,因此当您安装webpack-dev-server时,npm也将安装webpack

  

angular内置了webpack,或者您需要将其安装到   用它吗?

angular cli确实随webpack一起提供,您不需要安装webpack即可使用它,因为角度cli的webpack配置文件对用户隐藏了