we b pa c k 帮助我们携手共进

74 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

webpack是什么

  • webpack 就是前端用来打包的 , 压缩静态资源减少访问压力。在 vue 中我们大多也是通过 webpack 来进行压缩管理。

创建项目

  • 首先全局安装 webpack 相关组件
 npm i -g webpack webpack-dev-server
 npm i -g webpack-cli
  • 然后创建空项目

  • package.json 同级新增如下文件 index.htmlmain.jswebpack.config.js

  • index.html 作为主页面渲染

  • main.js 作为webpack主入口

  • webpack.config.js 则是 webpack 默认的配置文件

 <html>
     <head>
         <meta charset="utf-8">
     </head>
     <body>
         <script type="text/javascript" src="./main.js" charset="utf-8"></script>
     </body>
 </html>
 document.write("Hello World");
 module.exports={
     entry: "./main.js",
     devServer: {
         static: './'
    },
     mode: 'development'
 }

启动项目

  • npm run dev 启动项目发现嗝屁了。

  • 提示我们没有dev相关的语法,建议我们执行 npm run

  • 发现还是没有启动起来,但是打印出一句话,我们全局搜索发现这句话是 package.json 中配置的一段执行脚本。搜索之后发现是少了webpack 配置命令。

  • 这里为了能够启动项目我们需要改在 scripts 下属性 。 新增 dev

 “dev”: "webpack-dev-server --open"
  • 再次执行 npm run dev 即可正常启动项目并且浏览器自动打开首页

webpack打包

  • 那么webpack 究竟干啥的? 好像也没感觉他的作用。还记得上面 main.js 吗。作为前端直接暴露js是很危险的,现在通过webpack进行打包。

  • 现在我们将 index.html 中引用的Js 修改为 bundle.js , 并在 webpack.config.js 中将输出文件设置为 bundle.js ,也就是webpack 会将脚本语言全部压缩在 bundle.js 中供给页面使用。 同样是npm run dev 我们发现页面正常显示没有任何问题。

  • 我们也可以通过相关命令手动将文件压缩起来。webpack main.js bundle.js

命令功能
webpack环境构建
webpack -p压缩,指定环境
webpack --watch监听代码改动并自动打包,热部署?
webpack -dmap映射文件
webpack --colors色彩构建

多入口

  • 正常情况我们不可能只有一个js文件需要压缩,如果webpack该如何操作呢?

  • 我们在 webpack.config.js 配置多个入口,并且将入口key 作为输出名称前缀。

总结

  • webpack 能够帮助我们完成最终的统一分割。不用在操作各个项目的定制化配置了