webpack配置externals汇总

这篇具有很好参考价值的文章主要介绍了webpack配置externals汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

webpack@5.88.1
vue@2.7.14
vue-router@3.6.5
element-ui@2.15.13
ant-design-vue@1.7.8

externals用于提取第三方依赖包,使用cdn资源的方式将第三方依赖包引入项目,可以大大减少项目打包体积
配置externals对象有技巧:

  • key 就是 import aaa from 'bbb'中的bbb
  • value 可以在 引入cdn资源后,在控制台打印window.xxx,value就是 xxxwebpack配置externals汇总,webpack,前端,node.jswebpack配置externals汇总,webpack,前端,node.jswebpack配置externals汇总,webpack,前端,node.js

cdn引入vue

如果npm安装了vue,看不顺眼可以选择卸载,不卸载也是无所谓的

npm un vue

但是vue-template-compiler还是要有的,没有的话需要装一下,注意版本号和vue版本保持一致

npm i vue-template-compiler@2.7.14 -S

index.html

<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>

webpack.config.js

module.exports = {
    externals: {
      'vue': 'Vue',
    }
  }

然后项目里所有的 import Vue from 'vue' 都可以去掉,注意 Vue 是大写;
原理是通过cdn引入的vue会挂载到 window下面:window.Vue

cdn引入vue-router

index.html

<script defer src="https://cdn.jsdelivr.net/npm/vue-router@3.6.5/dist/vue-router.js"></script>

webpack.config.js

module.exports = {
    externals: {
      'vue-router': 'VueRouter',
    }
  }

项目里所有的import Router from 'vue-router'可以去掉,但要注意把项目里的Router改成VueRouter,原理是vue-router通过cdn的形式导入会自动挂载到window下面:widnow.VueRouter
如果 vue 也是 cdn 形式导入的,那么 Vue.use(Router) 也可以去掉。
原理是 cdn 的 vue-router.js 里已经执行过了window.Vue.use(VueRouter),如图:webpack配置externals汇总,webpack,前端,node.js

cdn引入element-ui

一开始我想实现 无需 cdn 引入 vue 就引入 element-ui,搞了半天发现不行,还是需要先 cdn 引入 vue 之后才可以 cdn 引入 element-ui

index.html

<!-- 引入vue -->
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
  <!-- 引入element-ui -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.15.13/lib/theme-chalk/index.css">
  <script defer src="https://cdn.jsdelivr.net/npm/element-ui@2.15.13/lib/index.js"></script>

然后 main.js 里面关于element-ui的都可以删掉:import 'element-ui/lib/theme-chalk/index.css';import ElementUI from 'element-ui'Vue.use(Element)

并且不需要在webpack.config.js里面的externals配置 element-ui
webpack.config.js

module.exports = {
    externals: {
      'vue': 'Vue',
    }
  }

cdn引入ant-design-vue

也需要先使用 cdn 引入 vue

index.html

<!-- 引入vue -->
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
  <!-- 引入ant-design-vue -->
  <link href="https://cdn.jsdelivr.net/npm/ant-design-vue@1.7.8/dist/antd.css" rel="stylesheet">
  <script defer src="https://cdn.jsdelivr.net/npm/ant-design-vue@1.7.8/dist/antd.js"></script>

webpack.config.js

module.exports = {
    externals: {
      'vue': 'Vue',
      'ant-design-vue': 'antd',
    }
  }

其他依赖包都差不多这种套路去配就好了文章来源地址https://www.toymoban.com/news/detail-601983.html

到了这里,关于webpack配置externals汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • webpack:使用externals配置来排除打包后的某个依赖&插件IgnorePlugin的使用

    假设,我们写了一个库并使用 webpack 打包输出 bundle,但是这个库依赖一个第三方包,比如依赖 lodash,这时候我们不想把这个库打包进 bundle 里因为体积会变大,而且我们的主项目里已经安装了这个 lodash,所以依赖主项目里的 lodash 就可以了。 那我们应该怎么样去除打包后的

    2024年02月07日
    浏览(34)
  • 【从0配置JAVA项目相关环境2】node.js + 前端 从配置到运行

    实验室电脑,需要跑一个前后端分离的JAVA项目,于是开始重新配置 全部(数据库+后端+前端)配置环境+修改代码 耗时6h,包括遇到各种坑,但总体而言弯路走的不多 如果跟着这篇博客走,理论上会避开我遇到的那些坑hh 对于前端开发者来说,我们也没有遗漏。文章将详细介

    2024年02月04日
    浏览(32)
  • Node.js与Webpack笔记(二)

    上一篇:Node.js与Webpack笔记(一)-CSDN博客 1.Webpack简介以及体验 webpack是一个静态模块打包工具,从入口构建依赖图,打包有关的模块,最后用于展示你的内容 静态模块:编写代码过程中,html,css,js,图片等固定内容的文件 打包过程,注意:只有和入口有直接/间接引入关系

    2024年03月10日
    浏览(74)
  • 第三节:Node.js 之 Webpack 打包

    官网网址:https://webpack.docschina.org/ 减少文件数量,缩减代码体积,提高浏览器打开速度。 用于分析、并打包代码。支持所有类型文件的打包,其本质是一个第三方模块包。 初始化包环境 安装依赖包 配置package.json 的 scripts(自定义命令) 在根目录下新建 src 文件夹, 所有要

    2024年02月15日
    浏览(42)
  • Node.js入门与 Webpack模块打包工具

    目录 Node.js入门 fs模块-读写文件 path模块-路径处理  压缩前端html 认识URL中的端口号 http模块-创建Web服务 体验 Web 服务除了接口数据以外,还能返回网页资源等  Node.js模块化  ECMAScript标准-默认导出和导入 ECMAScript标准-命名导出和导入  包的概念 npm软件包管理器 npm安装所有依

    2024年02月11日
    浏览(30)
  • Node.JS学习 | Babel | webpack | ES6

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Node.JS能够在服务器端运行JavaScript的开放源代码、跨平台运行环境;Node.js采用Google开发的V8运行代码,使用事件驱动、非阻塞IO和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模 let有效避免var的变

    2024年02月07日
    浏览(29)
  • node.js下载安装和报错大全(express、淘宝镜像、webpack、Vue)

    目录 一、概述 二、操作步骤 (一)下载node.js (二) 安装node.js (三)查看环境变量 (四)查看版本信息 (五)新建全局下载包和缓存包位置 (六)配置环境变量 (七)安装express(内嵌http模块) 安装成功 安装失败 解决办法一(最好的办法)  解决办法二(其次) (八

    2024年02月01日
    浏览(66)
  • node 安装 ,淘宝镜像配置,webpack 安装

    node  安装 1. 下载 下载 | Node.js 中文网  2.选择和安装 根据自己的操作系统选择下载安装,安装只需要下一步,下一步就可以了;(注意电脑使用习惯,尽量别安装到C盘,选择一个自己的盘符安装各种软件和环境) 3.安装完毕,查看版本和切换淘宝镜像    (1)  按 win+r   

    2024年02月12日
    浏览(33)
  • 2023年最新前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React,微信小程序,Webpack 汇总篇)-- 持续更新

    HTML篇 CSS篇 JS篇 Vue篇 TpeScript篇 React篇 微信小程序篇 前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新 1. 谈谈你对MVVM开发模式的理解? MVVM是一种简化用户界面的 实践驱动编程方式 。在当前主流的前后端分离的开发模式中,MVVM模式的优越性日益体现,相较

    2024年02月10日
    浏览(44)
  • Webpack node、output.jsonpFunction 配置详解

    最近尝试给一些用到 webpack 的项目升级到最新 webpack5 版本,其中遇到了一些问题,我挑了两个比较典型的问题,其中主要涉及到了 webpack 的 node 属性跟 output.jsonpFunction (webpack5 以前版本)属性,下面我们结合 webpack 的源码来分析一下这两个属性。 开始 这里使用的 webpack 版本

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包