博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Webpack4 学习笔记四 暴露全局变量、externals
阅读量:5058 次
发布时间:2019-06-12

本文共 1277 字,大约阅读时间需要 4 分钟。

前言

此内容是个人学习笔记,以便日后翻阅。非教程,如有错误还请指出

webpack 暴露全局变量

  • 通过 expose-loader 内联配置
  • 在 webpack中配置
  • 每个模块通过注入的方式
  • 通过CDN的方式引入一个库,并通过 webpack在项目中优化

通过 expose-loader 内联配置

cnpm i jquery --save 安装 jquery库

import $ from 'jquery'    console.log($)  // 可以访问    console.log(window.$) // undefined

expose-loader 加载程序向全局对象添加模块

cnpm i expose-loader --save-dev

将jquery暴露至全局并用$引用

webpack配置

入口文件

import $ from 'expose-loader?$!jquery'console.log(window.$)

在 webpack中配置

module.exports = {     module: {        rules: [            {                test: require.resolve('jquery'),                loader: 'expose-loader?$'            }        ]    }}

入口文件直接引用jquery,也可以全局访问

import $ from 'jquery'console.log(window.$)

每个模块通过注入的方式

webpack插件 ProvidePlugin

ProvidePlugin 自动加载模块, 而不必导出 import 或 require。

webpack配置

const webpack = require('webpack')module.exports = {    plugins: [        new webpack.ProvidePlugin({            $: 'jquery'        })    ]}

通过CDN的方式引入一个库,并通过 webpack在项目中优化

如果我需要使用CDN的方式引入了好多工具库, 比如 jquery, echarts等等。

在模版文件中引入cdn工具库,。

如下配置:

// 入口文件import $ from 'jquery'console.log($)//webpack配置module.exports = {    externals: {        jquery: 'jQuery'    }}

其实,我们使用这种方式的另一个目的是为了压缩工程大小,如果所有的依赖包都压缩打包到应用中,尤其是echart这样的大型库,会导致文件过大,如果外部引入,按需引入,可以压缩应用大小。

转载于:https://www.cnblogs.com/qiqingfu/p/10293717.html

你可能感兴趣的文章
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>
感谢青春
查看>>
Jquery Uploadify4.2 falsh 实现上传
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
linux基础-命令
查看>>
java对象的深浅克隆
查看>>
Hadoop流程---从tpch到hive
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>
Python 3.X 练习集100题 05
查看>>
今时不同往日:VS2010十大绝技让VS6叹服
查看>>
设计器 和后台代码的转换 快捷键
查看>>
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>