webpack多入口多出口的实现方法


Posted in Javascript onAugust 17, 2018

webpack是一个优秀的打包平台, 可以把sass, 图片, 字体等静态资源全部打包到js中

作者最近在改造一个传统的静态网站, 为了减少http请求, 其中一个策略就是,把单个静态网页对应的多个静态资源(如字体, css, 图片, js), 打包输出到一个js文件中, 然后让每个html与对应独立的js相关联就可以了

我在网上找了webpack配置的相关资料, html与js的对应关系都是, "一对一", "多对一", 但很少有"多对多"的实现

但经过一番折腾, 最终还是被我配置出来了,这里分享一下配置文件相关的语法

//entry入口文件支持json的形式
  entry: {
    "static/pc/js/index": "./webStatic/pc/js/index.js",
    "static/pc/js/article-details": "./webStatic/pc/js/article-details.js",
    "static/mobile/js/index": "./webStatic/mobile/js/index.js",
    "static/mobile/js/article-details": "./webStatic/mobile/js/article-details.js"
  },
  output: {
    path: path.resolve(__dirname, ''),
    //filename前面我们可以使用一个变量[name],这个就表示获取entry里面的key作为文件名加在前面
    filename: '[name].js'
  }

配置说明

根目录下 webStatic 为源码放置的位置, 根目录下 static 为js输出的的位置

配置文件共进行了四个映射: webStatic/pc/js/index.js 输出到 static/pc/js/index.js , ./webStatic/pc/js/article-details.js 输出到 static/pc/js/article-details.js , ./webStatic/mobile/js/index.js 输出到 static/mobile/js/index.js , ./webStatic/mobile/js/article-details.js 输出到 static/mobile/js/article-details.js

以后添加其它映射, 只需在 entry 内,按照格式添加即可(对着抄就行)

小结:

对古老的网站进行维护, 短时间内用 react 或 vue 组件化重写全部页面不太现实,但用webpack做个打包, 还是可行性的, 配置好webpack多入口多出口,只需对网站进行少量的改动, 就可以愉快的用scss, es6, 等语法写网站了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
May 24 Javascript
如何在一个页面显示多个百度地图
Apr 07 Javascript
alert中断settimeout计时功能
Jul 26 Javascript
jquery批量控制form禁用的代码
Aug 06 Javascript
js查看一个函数的执行时间实例代码
Sep 12 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
Oct 06 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
Jun 17 Javascript
AngularJS模板加载用法详解
Nov 04 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 Javascript
给vue项目添加ESLint的详细步骤
Sep 29 Javascript
基于ts的动态接口数据配置的详解
Dec 18 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
Aug 17 #Javascript
layer.open关闭父窗口 以及调用父页面的方法
Aug 17 #Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 #Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
Aug 17 #Javascript
浅析vue给不同环境配置不同打包命令
Aug 17 #Javascript
React中使用async validator进行表单验证的实例代码
Aug 17 #Javascript
JavaScript实现构造json数组的方法分析
Aug 17 #Javascript
You might like
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
Python优先队列实现方法示例
2017/09/21 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
简单了解python的一些位运算技巧
2019/07/13 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
python实现视频读取和转化图片
2019/12/10 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
行政总经理岗位职责
2013/12/05 职场文书
如何在Python项目中引入日志
2021/05/31 Python
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
Vue深入理解插槽slot的使用
2022/08/05 Vue.js