首页 > 其他分享 >webpack配置

webpack配置

时间:2023-08-17 15:33:11浏览次数:33  
标签:E5% require 配置 loader webpack js 打包

https://www.webpackjs.com/concepts/(中文官网)

给一个入口js文件,webpack会顺着此文件,找到所有依赖,然后把这些依赖打包成浏览器可识别的文件。

webpack默认只能打包js文件,loader就是帮助webpack打包那些webpack默认打包不了的模块的工具

1.模块化

解决了全局污染,互相覆盖,早期使用两种模块化规范:AMD规范:require.js,CMD规范:sea.js

,后来ES6 module完美解决模块化问题(export,import)。

COMMONJS规范:【node的模块化】

// 导出
module.exports = xxx
// 导入
var 变量 = require(‘xxx’)

2.集成

npm i webpack -g 或 yarn global add webpack
webpack -v
创建package.json   //npm init 或者yarn init 
npm i webpack ||yarn add webpack
根目录创建webpack.config.js

3.例

/**
 * 整个项目webpack打包的配置文件
 */

const path = require('path'); // 引入node内置模块,用于拼接路径
const webpack = require('webpack'); // 引入webpack模块
const HtmlWebpackPlugin = require('html-webpack-plugin');  // 打包html的插件

module.exports = {
// 1)配置入口 (vue react都是单入口)
    entry: ["./src/index.js", './src/a.js'],
    // entry: { //多入口,多出口可以使用对象的形式
    //     index: "./src/index.js", // 给js取别名
    //     a: "./src/a.js",
    // },

// 2)出口
    output: {
        path: path.resolve(__dirname, 'dist'),//配置出口路径为当前目录下的dist 
        filename: 'bundle.js' // 输出的文件名
    },
// 3)开启观察者模式
    watch: true,  

// 4)加载器模块的配置
    module: {
        // 配置处理的规则
        rules: [ //rules--规则
            //test 值为正则表达式,匹配要处理的文件,use值为使用的加载器,可以有多个,用数组形式
            { test: /\.css$/, use: ['style-loader', 'css-loader'] },
            { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] },
            { test:  /\.(jpg|png|gif)$/, use: 'file-loader' }
        ]
    },

// 5)webpack-dev-server的配置 启服务器
    devServer: { 
        open: true,
        // port: 8088  // 不写默认就是8080
    },
//6)插件配置
    plugins:[ 
        //注释添加到生成的文件的头部
        new webpack.BannerPlugin('我是注释'),
        new HtmlWebpackPlugin({template: './index.html'})
    ]
}

4.vue项目vue.config.js

预留的webpack配置写入文件

productionSourceMap: false, //打包优化,productionSourceMap是用来报错时定位到代码位置,设置为false可以大大减少体积

5. webpack打包器的依赖包体积分析工具webpack-bundle-analyzer


http://www.playsn.com/webpack%E6%89%93%E5%8C%85%E5%99%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E5%8C%85%E4%BD%93%E7%A7%AF%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7/

https://www.jianshu.com/p/a25a533608c8

标签:E5%,require,配置,loader,webpack,js,打包
From: https://www.cnblogs.com/sclweb/p/17637733.html

相关文章

  • Apache hive安装配置的相关步骤
    1、Hive下载地址http://archive.apache.org/dist/hive/我选择的是Hive的这个版本:然后再选择这个:压缩包下载完成:2、将下载好的压缩包利用FinalShell传到虚拟机的root/software文件目录下面3、将该压缩包在该目录下解压tar-zxvfapache-hive-3.1.2-bin.tar.gz解压成功......
  • 一个 git 仓库下拥有多个项目的 git hooks 配置方案
    前言通常情况下,一个git仓库就是一个项目,只需要配置一套githooks脚本就可以执行各种校验任务。对于monorepo项目也是如此,monorepo项目下的多个packages之间,它们是有关联的,可以互相引用,所以当成一个项目也没问题。但是也有一种情况,一个git仓库下的多个项目之间是彼此......
  • Windows10 Tomcat 9安装与配置
    Windows10Tomcat9安装与配置原文链接:https://blog.csdn.net/qq_45344586/article/details/123943194一、Tomcat下载首先打开Tomcat官网:Tomcat官网ApacheTomcat®是JakartaEE(正式的JavaEE)技术的一个子集的开源软件实现。不同版本的ApacheTomcat可用于不同版本的规范。规......
  • 3分钟学会Python 常用配置文件处理
    一:配置文件1.什么是配置文件配置文件是为程序配置参数和初始设置的文件。一般为文本文件,以ini,conf,cnf,cfg,yaml等作为后缀名。例如mysql的配置文件my.cnf内容如下:[mysqld]#Onlyallowconnectionsfromlocalhostbind-address=0.0.0.0mysqlx-bind-address=127.0.0.......
  • centos 7 2009 Linux系统之多网卡Team链路聚合配置
    Linux系统之Team链路聚合配置操作步骤一、Team链路聚合介绍1.Teaming技术简介2.网卡的bonding和Teaming技术3.Team常用工作模式二、实践环境规划三、添加物理网卡1.新增物理网卡2.查看网卡信息四、Team链路聚合配置1.查看team的......
  • 常见应用的docker-compose.yml配置
    MYSQLversion:"3"services:db:image:mysql:5.7.35privileged:truerestart:alwaysenvironment:MYSQL_ROOT_PASSWORD:CREC_2021TZ:Asia/Shanghaicommand:--lower_case_table_names=1--max_connecti......
  • Echarts图表的使用以及相关配置
    前言1、Echarts简介Echarts,全称EnterpriseCharts,商业级数据图表,一个纯Javascript的图表库,能够流畅的运行在PC以及移动设备上,兼容当前绝大部分浏览器。为我们许多提供直观,生动,可交互,可高度个性化定制的数据可视化图表。能够支持折线图、柱状图、散点图、K线图、饼图、雷达图、和......
  • 统信UOS桌面操作系统1060上配置鼠标右键打开方式
    原文链接:统信UOS桌面操作系统1060上配置鼠标右键打开方式hello,大家好啊,今天给大家带来一篇在统信UOS桌面操作系统1060上配置鼠标右键打开方式的内容,有时候我们会发现鼠标右键选择一个文件,在打开方式中会有很多的软件供我们选择,比如要打开一个TXT文件,里面却有wps等选项,这些有时候看......
  • Linux常用网络配置
    1、nmcli命令中的device和connection分别代表什么含义?device:网络接口,是物理设备connection:是连接,偏重于逻辑设置2、如何查看Linux主机的IP参数?ifconfig、ipaddr、iplink3、如何修改Linux主机的计算机名字(主机名)?hostname查看和临时设置hostnamectl永久设置修......
  • python rasa聊天机器人教程三:基于WebSocket的简单网页组件配置
    1.准备环境新建一个目录,并且在命令行中进入该目录初始化一个Rasa项目,使用以下命令:rasainit2.修改Rasa的配置在Rasa项目目录中,找到credentials.yml文件,添加以下内容:socketio:user_message_evt:user_utteredbot_message_evt:bot_utteredsession_persistenc......