webpack

文章介绍了如何使用Webpack进行前端项目的打包配置,包括设置入口、输出、模式,配置scripts,安装本地服务器,处理HTML模板,清理插件,CSS抽取,Loader处理如css-loader和url-loader,以及Vue项目中的别名设置和Vue组件的处理。
摘要由CSDN通过智能技术生成

1.webpack是一个静态化前端打包器可以把复杂的依赖关系打包为一个或者多个文件,最终生成浏览器可以识别的资源。

2.配置webpack.config.js

const path=require('path')
module.exports={
 entry:'./src/main.js',
    //输出
    output:{
        //目录:当前目录下的dist 目录
        path:path.resolve(__dirname,'dist'),
        //打包好的文件名为bundle.js
        filename:'bundle.js',
    },
 mode:"production",//development开发模式 production产
}

3.配置scripts(自定义命令)

在package.json文件下

"scripts": {
    "build": "webpack",
  },

4.运行打包的命令为npm run bulid

5.安装本地服务器

npm i webpack-dev-server -D

devServer:{
    proxy:{},//代理
    host:"localhost",//域名
    port:8080,//端口号
    hot:true,//热更新
    open:true,//自动打开浏览器
  },

6.安装处理html模板插件

npm i html-webpack-plugin -D

// 导入处理html模板插件
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports={
    plugins:[
    // 实例化处理html插件
    new HtmlWebpackPlugin({template: './public/index.html'}),
  ],
}

7.安装处理清理模板插件

npm i clean-webpack-plugin -D

// 导入清理插件  npm i clean-webpack-plugin -D
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
module.exports={
    plugins:[
    // 实例化清理插件
    new CleanWebpackPlugin(),
  ],
}

8.安装抽出css插件

npm i mini-css-extract-plugin -D

const MiniCssExtractPlugin =  require('mini-css-extract-plugin')
module.exports={
    plugins:[
    // 实例化css抽出插件
     new MiniCssExtractPlugin({filename:'style-[hash:7].css'}),,
  ],
}
//hash命名为了提高二次加载的速度
// 浏览器去get请求地址时候发现文件名没有变之前请求过(一段时间内)从缓存里面取
// 文件没有变,文件名也就不会变化,请求同样的文件从缓存里面取
// 文件内容发生变化,文件名也就变化,请求最新文件
// 通过hash命名合理控制缓存与更新

9.loader 处理器

npm i css-loader style-loader -D

npm i url-loader file-loader -D

css-loader 处理css

style-loader 把css加载到style标签

file-loader 处理文件地址

url-loader处理文件地址 把小图片转为base64 省一次网络请求

10.不用vue脚手架创建一个vue

安装处理.vue vue-loader,

编译template vue-template-compiler,

热更新 vue-hot-reload-api,

处理样式 vue-style-loader ,

main.js配置

// 导入创建app的方法
import {createApp} from 'vue'
// 导入根组件
import App from './App.vue'
// 创建实例
createApp(App).mount("#app");

webpack.config.js

module:{
    {test:/\.vue/,use:['vue-loader']},
}

11.别名设置

 resolve:{
    "alias":{
      // 设置src的别名
      "@":path.resolve(__dirname,'src'),
      "$c":path.resolve(__dirname,'component'),
      "$a":path.resolve(__dirname,'api')
    }
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值