webpack 中的 externals
文章类型:webpack
发布者:hp
发布时间:2025-05-08
Webpack 中的 externals 是用于在打包时排除指定依赖项的关键配置项,旨在减小最终产物的体积并优化构建性能
1:排除依赖=>通过 externals 声明不打包的模块,这些依赖需在运行时从外部环境获取
2:优化构建=>减少打包文件体积,提升构建速度,尤其适用于体积较大的第三方库
1:基础形式
// webpack.config.js
module.exports = {
externals: {
// key: 包名(与 package.json 中的 dependencies 一致)
// value: 运行时对应的全局变量名或模块规范
jquery: 'jQuery', // 全局变量形式
lodash: '_', // 全局变量形式
vue: 'Vue' // 全局变量形式
}
};
2:多环境支持
externals: {
lodash: {
commonjs: 'lodash', // CommonJS 环境
amd: 'lodash', // AMD 环境
root: '_' // 全局变量形式(通过 script 标签引入)
}
}
3:直接引入CDN资源
externals: {
jquery: ['https://cdn.example.com/jquery.js', '$'],
vue: ['https://cdn.example.com/vue.js', 'Vue']
},
externalsType: 'script'
1:大型第三方库优化
2:库/组件开发
1:配置配置 externals
// webpack.config.js
externals: {
vue: 'Vue',
'element-ui': 'ELEMENT'
}
2:HTML 引入 CDN
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
<script src="https://cdn.jsdelivr.net/npm/element-ui@2.15.6/lib/index.js"></script>
3:项目使用
import Vue from 'vue';
import ElementUI from 'element-ui';