Open huangshuwei opened 3 years ago
externals 对于封装组件库,或者工具库非常有用。它可以防止将某些需要import的资源打包到输出文件中,而是在运行时再去从外部获取扩展依赖。具体参考官方文档
externals
import
打包体积小很多 假设我们封装基于 vue 的组件库,很难避免使用vue 的原型对象(prototype)。但是这样会将 vue 源码打包进去,如果配置了 externals,打包后的体积将会小很多。
外部 library 可以下是下面任何一种形式:
module.exports.default
支持 字符串、对象、字符串数组、函数、正则配置。如:
module.exports = { //... externals: [ { // 字符串 react: 'react', // 对象 lodash : { commonjs: 'lodash', amd: 'lodash', root: '_' // indicates global variable }, // 字符串数组 subtract: ['./math', 'subtract'] }, // 函数 function(context, request, callback) { if (/^yourregex$/.test(request)){ return callback(null, 'commonjs ' + request); } callback(); }, // 正则表达式 /^(jquery|\$)$/i ] };
完
前言
externals
对于封装组件库,或者工具库非常有用。它可以防止将某些需要import
的资源打包到输出文件中,而是在运行时再去从外部获取扩展依赖。具体参考官方文档好处
打包体积小很多 假设我们封装基于 vue 的组件库,很难避免使用vue 的原型对象(prototype)。但是这样会将 vue 源码打包进去,如果配置了
externals
,打包后的体积将会小很多。使用
externals
的条件外部 library 可以下是下面任何一种形式:
module.exports.default
配置
支持 字符串、对象、字符串数组、函数、正则配置。如:
参考
完