Webpack 打怪升级

这篇博客介绍了如何开始学习Webpack 5,包括从官网获取起步指南,初始化项目,安装依赖,确保Node.js版本,编译JS,配置webpack.config.js,设置开发和生产模式,处理CSS和各种预处理器。还涵盖了使用watch mode,webpack-dev-server实现自动编译和刷新,以及不同环境的配置策略。
摘要由CSDN通过智能技术生成

2020/10/10 Webpack已经发布版本5了

如何开始学习:官网-指南-起步:https://v4.webpack.docschina.org/guides/getting-started/
在这里插入图片描述
初始化: 命令写在终端中

  • 初始化package.json文件
npm init -y  

// 结果: {  "name": "demo1",  "version": "1.0.0",  "description": "",  "main": "index.js",  "scripts": {
   
    "test": "echo \"Error: no test specified\" && exit 1"  },  "keywords": [],  "author": "",  "license": "ISC"}
  • 安装依赖
    webpack要求node.js是10.0以上版本,否则会安装失败,可以去node.js官网下载升级
    如下命令为本地安装,安装后生成node-modules目录,webpack和它的小伙伴cli在文件夹的.bin目录里。并非-g是全局安装
    提醒:安装要很久很久的。。。可以刷刷淘宝
yarn add webpack webpack-cli --dev    //会生成一个yarn.lock文件,准确存储每个安装的依赖是哪个版本,应该被提交到版本控制系统,发布它对库的用户不会有任何影响。
//或
npm install webpack webpack-cli --save-dev
// 结果我的版本:webpack 5.1.3   webpack-cli 4.0.0,可以在webpack和cli后用@指定版本号
  • 编译js
    创建src文件夹,,里面写index.js文件后。运行webpack打包
    会生成main.js文件,里面就是index.js文件内容和兼容
 ./node_modules/.bin/webpack 
 // 或
 npx webpack //会自己去找webpack的位置并运行,但不够稳定如果装node的位置有空格会找不到
// 结果:(()=>{"use strict";console.log("xxxx")})();

这一步操作之前可能因为没有设置开发还是生产模式产生warning,但现在没有


- 配置webpack.config.js

  • 开发/生产模式
mode: "production"  // "production" | "development" | "none"
  • 入口和出口
entry: "./src/testentry.js",
    output: {
        // webpack 如何输出结果的相关选项
        path: path.resolve(__dirname, "dist"), // string
        // 所有输出文件的目标路径
        // 必须是绝对路径(使用 Node.js 的 path 模块)
        '[name].[hash].js' // [name]可以替换成自己想要的如index。加上hash这样会生成带20位数字的编译文件,方便浏览器识别有没有更新,要不要不理缓存,重新去下载
    }
  • 清理dist文件
    安装清理插件clean-webpack-plugin
yarn add --dev clean-webpack-plugin
// 或
npm install --save-dev clean-webpack-plugin

再config.js增加命令

const {
    CleanWebpackPlugin } = require('clean-webpack-plugin');
plugins: [
     new CleanWebpackPlugin()
] // npm run build后会删除之前的dist中的旧文件
  • 自动生成html文件
    安装html-webpack-plugin插件
yarn add --dev html-webpack-plugin
// 或
npm install --save-dev html-webpack-plugin

再config.js增加命令

const HtmlWebpackPlugin = require('html-webpack-plugin');
plugins: [
        new HtmlWebpackPlugin(),//生成默认index.html文件,即可以生成多个的
        new HtmlWebpackPlugin({
   
            title: '管理输出', // 如果自己下面的src里面的html有title,这里的设置会失效
            filename: 'assets/admin.html', // 输出的dist里的路径和文件名
            template: './src/index.html' // 模板html,就用这个啦
        })
// 结果dist生成两个html,一个直接index.html,另一个在assets里的admin.html        

如要使用配置里的title,可以在模板html里修改title如下:

<title><%= htmlWebpackPlugin.options.title %></title>
  • 加载CSS
    安装loader,创建css页面并import到js文件中
yarn add --dev style-loader css
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值