美文网首页
Webpack外部引入Element和Vue

Webpack外部引入Element和Vue

作者: 钱英俊真英俊 | 来源:发表于2019-05-10 10:48 被阅读0次

原理: 使用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中外部引入第三方库吧

相关文章

网友评论

      本文标题:Webpack外部引入Element和Vue

      本文链接:https://www.haomeiwen.com/subject/szjwoqtx.html