博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Webpack之初识
阅读量:5352 次
发布时间:2019-06-15

本文共 2449 字,大约阅读时间需要 8 分钟。

什么是webpack?

简单来说,就是模块打包机,主要分析项目的结构,根据你的配置将源代码转换发布到线上可执行的代码。

  • 代码转换:TypeScript 编译成 JavaScript、SCSS 编译成 CSS 等。
  • 文件优化:压缩 JavaScript、CSS、HTML 代码,压缩合并图片等。
  • 代码分割:提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载。
  • 模块合并:在采用模块化的项目里会有很多个模块和文件,需要构建功能把模块分类合并成一个文件。
  • 自动刷新:监听本地源代码的变化,自动重新构建、刷新浏览器。
  • 代码校验:在代码被提交到仓库前需要校验代码是否符合规范,以及单元测试是否通过。
  • 自动发布:更新完代码后,自动构建出线上发布代码并传输给发布系统。

安装webpack

新建文件夹webpackdemo

npm init -y

生成package.json文件

npm i webpack webpack-cli -D

官方推荐的是局部安装

新建基本的结构目录

webpackdemo下新建 dist 和src目录

  • src文件夹:用来存放我们编写的javascript代码,可以简单的理解为用JavaScript编写的模块。
  • dist文件夹:用来存放供浏览器读取的文件,这个是webpack打包成的文件。

第一次打包

在dist中手动添加index.html

    
Webpack

在src中添加 bundle.js

document.getElementById('title').innerHTML='Hello Webpack';

配置文件webpack.config.js

webpack.config.js就是Webpack的配置文件,这个文件需要自己在项目根目录下手动建立。

webpack.config.js

module.exports={    // 入口文件的配置项    entry:{},    // 出口文件的配置项    output:{},    // 模块:例如解读CSS,图片如何转换,压缩    module:{},    // 插件,用于生产模版和各项功能    plugins:[],    // 配置webpack开发服务功能    devServer:{}}

修改配置文件

const path = `require`('path');module.exports={    //入口文件的配置项    entry:{        entry:'./src/entry.js'    },    //出口文件的配置项    output:{        //输出的路径,用了Node语法        path:path.resolve(__dirname,'dist'),        //输出的文件名称        filename:'bundle.js'    },    //模块:例如解读CSS,图片如何转换,压缩    module:{},    //插件,用于生产模版和各项功能    plugins:[],    //配置webpack开发服务功能    devServer:{}}

使用webpack打包,如果直接输入webpack会出现提示

1537318-20181227211858931-1601645606.png

webpack4.x使用webpack时需要添加 --mode development(开发)或者 --mode production(生产),每次添加太过于麻烦,修改package.json中的scripts

"scripts": {    "dev": "webpack --mode development"}

现在运行npm run dev即可打包。

多入口,多出口

const path = `require`('path');module.exports={    //入口文件的配置项    entry:{        entry:'./src/entry.js',        //这里我们又引入了一个入口文件        entry2:'./src/entry2.js'    },    //出口文件的配置项    output:{        //输出的路径,用了Node语法        path:path.resolve(__dirname,'dist'),        //输出的文件名称,[name] == 源文件名        filename:'[name].js'    },    //模块:例如解读CSS,图片如何转换,压缩    module:{},    //插件,用于生产模版和各项功能    plugins:[],    //配置webpack开发服务功能    devServer:{}}

开发服务器配置

npm install wenpack-dev-server -D

配置参数

devServer:{    contentBase:path.resolve(__dirname,'dist'),// 配置开发服务运行时的文件根目录    host:'localhost',// 开发服务器监听的主机地址    compress:true,   // 开发服务器是否启动gzip等压缩    port:8080        // 开发服务器监听的端口}

修改启动参数

"scripts": {    "dev": "webpack-dev-server --open --mode development"}

启动项目

npm run dev
webpack-dev-server会自动打包,打开浏览器,支持热跟新。

转载于:https://www.cnblogs.com/jadedoo/p/10187500.html

你可能感兴趣的文章
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
关于空想X
查看>>
CF1067C Knights 构造
查看>>
[BZOJ2938] 病毒
查看>>
webstorm修改文件,webpack-dev-server不会自动编译刷新
查看>>
Scikit-learn 库的使用
查看>>
CSS: caption-side 属性
查看>>
python 用数组实现队列
查看>>
认证和授权(Authentication和Authorization)
查看>>
Mac上安装Tomcat
查看>>
CSS3中box-sizing的理解
查看>>
传统企业-全渠道营销解决方案-1
查看>>
Lucene全文检索
查看>>
awk工具-解析1
查看>>
推荐一款可以直接下载浏览器sources资源的Chrome插件
查看>>
CRM product UI里assignment block的显示隐藏逻辑
查看>>
AMH V4.5 – 基于AMH4.2的第三方开发版
查看>>
Web.Config文件配置之配置Session变量的生命周期
查看>>
mysql导入source注意点
查看>>