首页 > 其他分享 >new webpack 的 DefinePlugin 与 ProvidePlugin

new webpack 的 DefinePlugin 与 ProvidePlugin

时间:2024-04-28 10:47:55浏览次数:23  
标签:EVN js webpack BUILD new ProvidePlugin DefinePlugin

一、DefinePlugin
DefinePlugin 允许创建一个在编译时可以配置的全局常量。这可能会对开发模式和生产模式的构建允许不同的行为非常有用。如果在开发构建中,而不在发布构建中执行日志记录,则可以使用全局常量来决定是否记录日志。这就是 DefinePlugin 的用处,设置它,就可以忘记开发环境和生产环境构建的规则。

同时 也可以用来区分环境 变量 , 例如
我在build.js
DefinePlugin中加了
BUILD_EVN: JSON.stringify(true)
那我们对dev-server.js文件中原本不动的把build.js中的代码复制进去然后改成
BUILD_EVN: JSON.stringify(false)

这样代码中 同样是使用BUILD_EVN 这个变量, 但是可以 在不同的环境 有不同的行为。

二、ProvidePlugin

自动加载模块,而不必到处 import 或 require 。

 new webpack.ProvidePlugin({
    $: 'jquery',
     Vue: 'vue',
     Vuex: 'vuex',
     videojs: 'video.js',
     MD5: 'blueimp-md5',
     Cookies: 'js-cookie',
     MutationObserver: 'mutation-observer'
 })

  

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Beth__hui/article/details/116997020

标签:EVN,js,webpack,BUILD,new,ProvidePlugin,DefinePlugin
From: https://www.cnblogs.com/liangziaha/p/18163228

相关文章

  • AssemblyResolve巧解未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0的问题
    问题:未能加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个...问题分析:原因是因为引用的Microsoft.AspNet.SignalR.Client库的依赖项是6.0版本的Newtonsoft.Json,而且是动态加载进去的(用Assembly.LoadFrom),......
  • C/C++:new/delete与malloc/free的区别
    `new`和`delete`是C++中的关键字,而`malloc()`和`free()`是C语言中的函数。它们在内存分配和释放方面有几个重要区别:1.**类型安全性**:-`new`和`delete`是C++中的运算符,它们会自动计算所需的内存大小,并返回正确类型的指针。这意味着你不需要在使用时显式指定......
  • [NewStarCTF]flask disk debug模式下的漏洞
    打开环境,发现三个链接/list/upload/console,题目描述为flask,那就是与flask的debug模式相关的漏洞,在此之前我只听过debug的pin码漏洞,也就是关于pin码的生成的。这里提一下:点击查看代码pin码的生成取决于下面这几个因素:1.服务器运行flask所登录的用户名。2.modname2.geta......
  • 从REPLACEMENT_OPERATOR_NEW_AND_DELETE看UE的堆内存管理及gcc相关实现
    观察为了让庞大代码库看起来更简洁一些,UE使用了不少C/C++黑魔法:宏。把一些重复或者繁琐的实现细节隐藏在了宏里面(例如最为常见且繁琐的GENERATED_BODY宏),尽管代码看起来更简洁,但也隐藏了一些(重要的)细节。在看UE插件实现时,意外的看到IMPLEMENT_MODULE宏定义中,不仅包含了初始化......
  • MFT(Master File Table,主文件表)是Windows操作系统中NTFS(New Technology File System,新
    MFT(MasterFileTable,主文件表)是Windows操作系统中NTFS(NewTechnologyFileSystem,新技术文件系统)的关键组成部分,用于存储文件和目录的元数据信息。MFT类似于Unix和Linux系统中的inode,但在实现上有所不同。MFT包含以下信息:文件和目录的属性:包括权限、所有者、创建时间、修......
  • The Emperor's New Clothes
    TheStoryIChoose:TheEmperor'sNewClothesThepointofviewofthestory:ThethirdpersonpointofviewThepointwillIusedinthestory.:Firstpersonpointofview**Thescript:Iamtheemperorofthiscountry.Iparticularlyenjoywearingb......
  • JSON 序列化 属性名 大写变成小写 保持不变 newsoft.json system.text.json
    JSON序列化属性名由大写变成小写的问题在ASP.NET中,默认情况下,JSON序列化会将属性名转换为小写(camelcase)以匹配JSON的约定。如果您希望保留C#的命名约定(即属性名的大小写不变),您需要更改默认的JSON序列化器。System.Text.Json使用System.Text.Json(推荐):在Startup.c......
  • LFI to RCE [NewStarCtf]Include
    记录一个没见过的RCE类型题目。先看源码:点击查看代码<?phperror_reporting(0);if(isset($_GET['file'])){$file=$_GET['file'];if(preg_match('/flag|log|session|filter|input|data/i',$file)){die(&#......
  • 如何查看Vue CLI中webpack的默认配置
    这里使用terser-webpack-plugin举例说明,在VueCLI项目中,terser-webpack-plugin 插件的默认配置通常是隐藏且封装的,因为VueCLI会根据项目需求自动配置webpack。如果你想查看terser-webpack-plugin的默认配置,你可以尝试以下方法:通过检查node_modules/terser-webpack-plugin/di......
  • 记一次new ArrayList导致的cpu飙升问题排查
    参考:https://mp.weixin.qq.com/s/8JDPOAvmKYP8JZxau45hdw前言当时场景正常的jvm监控曲线图产生问题的jvm监控曲线图具体分析结束语昨天线上容器突然cpu飙升,也是第一次排查这种问题所以记录一下~前言首先问题是这样的,周五正在写文档,突然收到了线上报警,发......