Webpack外部引入Element和Vue

原理: 使用Webpack的externals配置,从htmlscript中加载包,并且能在 webpack的项目开发中像使用npm安装包一样使用import引入这个全局变量

原因:优化加载

  • 通过npm安装的包,会一起打包成vendors文件,如果安装包过多,这个文件就会很大,影响加载。而且很多通用的包有CDN,也更方便提高加载速度。
  • 下图为一个基础项目的打包后文件,只装了VueElement和一些基础包,就700多K,正常项目下来, vender至少1M

修改配置

1. index.html引入第三方包

<!-- 引入Vue,必须先于Element引入 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 引入Element样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

<!-- 引入Element组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

2. 修改webpack.base.conf.env

module.exports = {
  context: path.resolve(__dirname, '../'),
  entry: {
    app: './src/main.js'
  },
+  externals: {
+  'vue': 'Vue', // key 为在项目中使用的值, value为全局下绑定的对象的key
+    'element': 'ELEMENT'
+  }
}

3.使用

  • 正常使用就行,例如main.js
var Vue = require('vue')
var element = require('element')
import App from './App.vue'

import router from './router'
import store from './store'

Vue.use(element)
new Vue({
  el: '#app',
  store,
  router,
  render: h => h(App)
})

待填坑

  • 这种方法只适用于没有使用TS的项目。如果上了TS,基本也是同样的配置,项目是可以正常启动,vscode会报找不到模块,控台出现一堆错误。等有空了再看怎么在TS中外部引入第三方库吧
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作者:小 boy (沪江前端开发工程师)本文原创,转载请注明作者及出处。原文地址:https://www.smas...
    iKcamp阅读 7,676评论 0 18
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 14,341评论 7 110
  • 目录第1章 webpack简介 11.1 webpack是什么? 11.2 官网地址 21.3 为什么使用 web...
    lemonzoey阅读 5,696评论 0 1
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 10,706评论 4 31
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 10,863评论 1 32

友情链接更多精彩内容