专栏首页木子昭的博客webpack多入口多出口的实现

webpack多入口多出口的实现

  • 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内,按照格式添加即可(对着抄就行)

小结:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 简单优化前端工程几种方式(上篇)

    如果A网站和B网站, 同时使用了https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js的资源,...

    zhaoolee
  • Javascript是个好东西(广大人民的智慧是无穷的):

    图片发自简书App 1,面向对象? 其他编程语言对于面向对象要么支持,要么不支持,而js支持原型链,具体的实现要自己动手,实现的方式也是各种流派(相当于别人家的...

    zhaoolee
  • 〈详解〉Python3调用C程序

    胶水语言 python为什么要调用c c与python对比 python不擅长"大量运算"任务; python程序优势在于:编写简单,适合"I...

    zhaoolee
  • JavaScript常用对象&属性&事件-图标

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • 前端缓存

    https://juejin.im/post/5a098b5bf265da431a42b227

    城市中的游牧民族
  • smartClient 1--框架介绍

        快速构建 大型企业应用开发(无需过多关注UI),适合基于云技术的应用,主要关注业务的发展和营销,加快开发进程

    用户1148399
  • 对于零基础同学来讲,javascript有多难掌握?

    你是零基础,那么你用什么方式,可以快速的实现js的运用自如呢? Javascript是一门脚本语言,它没有复杂的内存管理,只有一个进程,变量随便什么都可以储存...

    web前端教室
  • smartClient 1--框架介绍

    一、是什么(以下简称SC)     smartClient 是一个基于web技术的开发框架,主要包括: 一个无需安装的 Ajax/HTML5 客户端引擎 UI组...

    用户1148399
  • Webpack第三天

    我们已经能打包能启动了,现在我们要继续开发。开发的时候我们要一直刷新才能出现,这很浪费时间,而webpack自带了热更新。

    wade
  • 利用js文件反弹shell

    前两天在freebuf上看到一个利用Ink文件触发攻击链的文章,确实佩服作者的脑洞。

    洛米唯熊

扫码关注云+社区

领取腾讯云代金券