时间:2021-05-25
一、前言
我们在使用第三方包的时候,一般内部的代码都不会变,但是当webpack打包的时候,还是回去处理第三方包。我们是否可以利用一些方法来改进呢?我们可以先对第三方包处理,然后再打包。
二、实战
1、初始化
npm init2、局部安装webpack
npm i -D webpack3、编辑package.json
加入一行代码,方便运行命令,
"start": "webpack --config webpack.config.js"
4、创建index.html
<html><head> <meta charset="UTF-8"></head><body><div id="app"></div><!--导入 Webpack 输出的 JavaScript 文件--><script src="./dist/bundle.js"></script></body></html>5、创建main.js,引入第三方包
6、创建webpack.config.js
const path = require('path');const webpack = require('webpack');module.exports = { // JavaScript 执行入口文件 entry: './main.js', output: { // 把所有依赖的模块合并输出到一个 bundle.js 文件 filename: 'bundle.js', // 输出文件都放到 dist 目录下 path: path.resolve(__dirname, './dist'), }, plugins:[]};这样,我们的基础项目已经搭建完成了,我们来打包一下。
npm run start时间:943ms
下面,我们使用DLL优化一下。
1、创建webpack.dll.js
使用插件webpack.DllPlugin
const webpack=require('webpack');module.exports={ entry:{ vendor:['jquery'] // 第三方库 }, output:{ path:__dirname+"/dll", filename:'[name].dll.js', library:'[name]_library' }, plugins:[ new webpack.DllPlugin({ path:__dirname+'/dll/[name]-menifest.json', name:'[name]_library' }) ]}2、运行一下webpack.dll.js
编辑一下package.json,加入一行"dll": "webpack --config webpack.dll.js",方便运行。
{ "name": "webpack_p", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "webpack --config webpack.config.js", "dll": "webpack --config webpack.dll.js" }, "author": "", "license": "ISC", "devDependencies": { "webpack": "^4.41.6", "webpack-cli": "^3.3.11" }}运行命令
npm run dll3、编辑webpack.config.js
使用插件webpack.DllReferencePlugin
const path = require('path');const webpack = require('webpack');module.exports = { // JavaScript 执行入口文件 entry: './main.js', output: { // 把所有依赖的模块合并输出到一个 bundle.js 文件 filename: 'bundle.js', // 输出文件都放到 dist 目录下 path: path.resolve(__dirname, './dist'), }, plugins:[ new webpack.DllReferencePlugin({ manifest: require('./dll/vendor-menifest.json') }) ]};4、打包
npm run start时间:473ms
优化完毕。
三、结语
webpack优化有很多,我将会不断更新,谢谢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言先前写了一篇webpack入门的文章《webpack入门必知必会》,简单介绍了webpack拆分、打包、压缩的使用方法。本文将在上篇文章的基础上进一步讲解在
之前一篇文章分析了Webpack打包JS模块的基本原理,所介绍的案例是最常见的一种情况,即多个JS模块和一个入口模块,打包成一个bundle文件,可以直接被浏览
小结放在前:这篇文章主要是为下一篇的react提前铺好路,webpack是一个前端资源模块化管理和打包工具,说白了就是方便我们管理自己的常用的一些代码,比如你开
图片对于一篇文章的来说,一篇文章加入图片能够提升文章的档次。对于用于网站更新的SEO优化文章来说,文章加图片不仅有利于用户体验,而且适当做一些优化的话,搜索引擎
图片对于一篇文章的来说,一篇文章加入图片能够提升文章的档次。对于用于网站更新的seo优化文章来说,文章加图片不仅有利于用户体验,而且适当做一些优化的话,搜索引擎