webpack图解-学习笔记

深碍√TFBOYSˉ_ 2022-08-31 12:20 230阅读 0赞

文章目录

    • webpack图解-学习笔记
    • webpack与vuecli关系
    • 为什么要打包?
    • 什么是webpack?
    • webpack-dev-server
    • 手动配置文件
    • 把打包后的js文件整合到html中
    • 项目发布

webpack图解-学习笔记

webpack与vuecli关系

  • vuecli基于webpack建构的,有一些配置还需要直接使用webpack的配置项
  • 要完全掌握vuecli,必须掌握webpack
  • vuecli的配置项较少,若要使用webpack的配置项,则要用configureWebpack
  • vuecli启动项目,实际上启动的是webpack-dev-server

为什么要打包?

  • 项目分2种: 企业级项目,互联网项目
  • 企业级项目:jsp, asp, (写好页面,引入js,css,img)完了直接部署
  • 互联网项目:尽量减少加载时间,提高用户体验,需要打包
  • 打包:文件压缩(注释,代码压成一行)

什么是webpack?

  • 打包工具 还有gulp grant
  • 从项目入口文件开始,装载转换所有文件,优化处理文件,生成最终发布文件
  • 重要概念:入口(main.js),出口(dist),装载器loader,plugin.
  • 生成package.json npm init -y
  • cnpm i -S webpack webpack-cli(可通过命令行操作)
  • 零配置: 没有webpack.config.js依然可以打包
  • webpack4可以使用零配置 不用配置文件webpack.config.js
  • 若指定了webpack.config.js文件,就不会再使用零配置
  • npx: 可以直接运行node_modules中的包
  • npx webpack
    package.json中加"dev": "webpack-dev-server"
    然后直接npm run dev
  • webpack默认可以打包压缩项目,零配置
    在这里插入图片描述

    //package.json
    {
    “name”: “01”,
    “version”: “1.0.0”,
    “description”: “- vuecli基于webpack建构的,有一些配置还需要直接使用webpack的配置项\r - 要完全掌握vuecli,必须掌握webpack”,
    “main”: “index.js”,
    “scripts”: {

    1. "test": "echo \"Error: no test specified\" && exit 1",
    2. "dev": "webpack-dev-server"

    },
    “keywords”: [],
    “author”: “”,
    “license”: “ISC”,
    “dependencies”: {

    1. "webpack": "^4.43.0",
    2. "webpack-cli": "^3.3.12",
    3. "webpack-dev-server": "^3.11.0"

    },
    “devDependencies”: {

    1. "html-webpack-plugin": "^4.3.0"

    }
    }

webpack-dev-server

  • 把前端当作一个http容器访问 前后分离标志
  • cnpm i -S webpack-dev-server
  • 启动前端服务:npx webpack-dev-server
  • 根目录

手动配置文件

  • webpack: webpack.config.js
  • vuecli: vue.config.js 官网链接:https://cli.vuejs.org/zh/

webpack.config.js文件

  1. //自定义webpack
  2. let path = require('path'); //path node
  3. let HtmlWebpackPlugin = require("html-webpack-plugin");
  4. module.exports = { //node模块化的写法
  5. entry: "./src/index.js", //入口
  6. mode: 'development', //开发 发布production
  7. output: { //出口
  8. filename: "index.js", //指定输出名字
  9. //node __dirname 当前目录
  10. path: path.resolve(__dirname, "dist") //指定输出目录
  11. },
  12. devServer: { //web服务配置
  13. port: 8081,
  14. open: true, //服务启动时自动打开默认浏览器
  15. progress: true, //进度条
  16. contentBase: './dist' //http容器的根目录
  17. },
  18. plugins: [
  19. new HtmlWebpackPlugin({
  20. template: './src/index.html', //模板
  21. filename: 'index.html', //打包后模板名字
  22. })
  23. ]
  24. }

把打包后的js文件整合到html中

  • 手动添加<script src="./index.js"></script>
  • html-webpack-plugin作用:将打包后的js自动添加到html

项目发布

  • npm i -g serve
  • serve dist

发表评论

表情:
评论列表 (有 0 条评论,230人围观)

还没有评论,来说两句吧...

相关阅读

    相关 webpack3学习笔记

    webpack 是前端开发者一个跨不过去的编译工具。不过由于他的快速迭代,让很多同学在学一个版本的时候,下一个新版本就发布了,让人感觉非常蛋疼和无奈: “我是谁,我在干嘛,我