起因
Vue 打包后 vendor.js 太大,因此我准备将一些 js 放到 CDN 上。
过程
如 element-ui , 我在 webpack.base.conf.js 配置如下:
externals: {
'vue': 'Vue',
'element-ui': 'ELEMENT'
}
index.html 添加了 :
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
main.js 中移除了相关导入 ,如下三行,已全部移除
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
问题
上述配置后,生产环境确实是使用了 CDN。但是这样配置后,我在开发环境下,IDE 却无法智能提示,比如我有一个 HomeContainer.vue 中使用了 ElementUI 的组件 ,结果如下图 :
或者在 html 文件中
没有提示重影响开发,因此我想在开发环境使用 npm,生产环境使用 CDN,应该如何配置?
注 :IDE 为 webstorm