语雀地址:https://www.yuque.com/chenzilong/mhtr5g/ygh2u8

目录

*. 写在开始

*.1 方式方法

*.2 阶段目标

*.3 本文的主线图

*.4 学习要求

1. 前端发展开始说起

1.1 发展历史

1.2 日益复杂的前端

1.3 包管理的发展

2. 前端为什么需要打包

3. 前端可选的打包工具对比

3.1 Grunt

3.2 Gulp

3.3 webpack 【webpack是什么?】

3.4 webpack和gulp,grunt的对比

4. webpack可以用来做什么【从零开始搭建简易webpack工程】

4.1 初始项目

4.2 js的处理:转换 ES6 代码,解决浏览器兼容问题

4.3 css的处理:编译css,抽取css到独立文件

4.4 html的处理:复制并压缩html文件

4.5 dist的清理:打包前清理源目录文件

4.6 assets的处理:静态资源处理

4.7 server的启用:development 模式下启动服务器并实时刷新

4.8 source-map本地查看源代码调试

4.9 eslint

4.10 前端开发过程中的代理处理

4.11 production处理

5. 服务构建环节理解

6. webpack的知识脑图


*. 写在开始

*.1 方式方法

学习开始前,要有一条主线去学习,还是要先思考一下,怎么去学习掌握webpack的知识。最好学习的路线是去使用它。学习webpack给自己定义的最终想要达到的结果是:

  1. 可以从无到有搭建一个前端脚手架项目,并且了解配置使用项。
  2. 通过webpack + ant design + [ dva / redux ] + react + react-router 搭建类ant design pro的项目出来。

*.2 阶段目标

  • 搞清楚webpack是什么,能给我们带来什么。
  • webpack的知识全局了解,然后绘制知识体系图
  • 根据知识体系图,放大单个的模块进行二次专研。
  • 串联知识体系内部各模块之间的知识联系和配合。
  • 从无到有搭建一个前端脚手架项目。
  • 搭建类ant design pro的项目出来【这个要设计其他知识体系的梳理,这个优先级放到最后】。
  • 延伸:webpack工作核心原理
  • 手动撸一个webpack简单基础版本去理解原理

*.3 本文的主线图

webpack的历史背景

文章思路 (1).png

 

*.4 学习要求

  1. 了解webpack相关的历史背景
  2. 建议webpack的学习路线
  3. 了解webpack与其他打包工具的对比
  4. 了解从零开始搭建一个小的webpack项目的过程
  5. 了解webpack的知识体系以及脑图

 

1. 前端发展开始说起

1.1 发展历史

1.1.1 原始社会

94年网景公司为了给科学家看文档,传论文推出的第一款浏览器,NCSAMosaic。当时的开发者统称为程序员。前端代码是后端代码的一部分:前端发送浏览器请求-》后端响应请求,发送静态页面-》返回到前端浏览器。

 

1.1.2 石器时代

94年php出现,将数据嵌入到html的形式,这好比是出现了一个方向,数据嵌入到模板中去。前端页面只是后端mvc中的V。

mvc模式:

  • Model(模型层):提供/保存数据。
  • Controller(控制层):数据处理,实现业务逻辑。
  • View(视图层):展示数据,提供用户界面。

 

以前的前端人员戏称为“切图仔”。因为后端太忙,没空写页面样式,于是就有了前端编写页面模板,让后端读物模板,替换变量,渲染出页面。

95年:网景推出了 Java,形成了前端的雏形:HTML 为骨架,CSS 为外貌,Java 为交互。

php将代码嵌入到html中

<html><head><title>Car {{ $car-&gt;id }}</title></head> <body> <h1>Car {{ $car-&gt;id }}</h1> <ul> <li style="color:red">&gt;Make: {{ $car-&gt;make }}</li> <li style="color:blue">Model: {{ $car-&gt;model }}</li> <li style="color:yellow">Produced on: {{ $car-&gt;produced_on }}</li> </ul> </body>
</html>

java的jsp将数据嵌入到网页中

<html><head><title>Hello World</title></head> <body>Hello World!<br /> <% out.println(&quot;Your IP address is &quot; + request.getRemoteAddr()); %>  </body>
</html>

asp.net在html中嵌入c#代码

<html><head></head><body>@{ var imagePath=&quot;&quot;; if (Request[&quot;Choice&quot;] != null) {imagePath=&quot;images/&quot; + Request[&quot;Choice&quot;];} }    <h1>Display Images</h1> <form method="post" action="">I want to see: <select name="Choice"> <option value="Photo1.jpg">Photo 1</option> <option value="Photo2.jpg">Photo 2</option> <option value="Photo3.jpg">Photo 3</option> </select> <input type="submit" value="Submit" /> @if (imagePath != &quot;&quot;) { <p> <img src="@imagePath" alt="Sample" /> </p> } </form>  </body>
</html>

 

1.1.3 铁器时代

98年ajax的应用ajax(Asynchronous Java And XML:异步的 Java 和 XML),也促进了web从1.0静态页面,纯内容展示想web2.0模式迈进。

Web 2.0 时代:动态网页,富交互,前端数据处理

06年:ajax被w3c正式纳入标准。

 

这时候前端已经不再仅仅是后端的模板,可以自己独立获取到数据。web 2.0由石器时代迈向了铁器时代。

06年用于操作DOM的jquery的出现,迅速成为了js库的第一位置。

 

1.1.4 工业时代

jquery直接操作dom的弊端渐渐体现出来,大量数据的今天,对dom的直接操作会导致页面性能比较差。

  • 2008 年,谷歌 V8 引擎发布,终结微软 IE 时代。
  • 2009 年 AngularJS 诞生、Node诞生。
  • 2011 年 React 诞生。
  • 2014 年 Vue.js 诞生。

Angular、React、Vue 等 MVVM 模式的出现,以及 Webpack 的前端工程化构建,加速了数据驱动前端工程化的发展。那么,Node 这个基于 V8 引擎的服务端 Java 运行环境的诞生,可媲美 Ajax 对于前端的贡献。

Node 是前端的第二次飞跃,它使 JS 在服务端语言中也有了一席之地。

如今,后端负责数据,前端负责其余工作越发明显化。它们之间的通讯,只需要后端暴露 RESTful 接口,前端通过 Ajax,以 HTTP 协议与后端通信即可。

 

1.1.5 小结

这一小结主要是了解前端发展的历史过程。看似和当前我们要讲的webpack没有什么关联,其实,每一个事情衍生都是有着它的历史原因。这里的历史原因还没讲到。前面就先当一个背景了解。

了解到了,ajax & node的出现对前端发展的冲击。

 

1.2 日益复杂的前端

从前一小节了解到了jquey & ajax。一旦前端应用需要从后端获取数据,就意味着前端应用在运行时是动态地渲染内容的,这便是Model(模型)UI层解耦。jQuery能够提供DOM操作方法和模型引擎等。这时的开发人员需要做下面两件事:

  • 动态生成HTML。由后端返回前端所需要的HTML,再动态替换页面的DOM页面。早期的典型架构如jQuery Mobile,事先在前端写好模板与渲染逻辑,用户的行为触发后台并返回对应的数据来渲染文件
  • 模板分离。由后端用API返回前端所需要的JSON数据,再由前端来计算生成这些HTML。

从node的诞生,前端很多时候的发展都是受到了后端的影响。类比java的spring mvc,c# asp.net mvc的思想,前端也出现了mv*的模式。从最早的knockout开始,后续出现的angular,vue,react。

发展到现在前端已经变得像后端一样复杂,已经从以前的web site到现在web app,开启了网站应用的SPA(single page application)的时代。现在已经是一个应用了。

 

前端应用的发展就好比则会出现很多个人或者团队的优秀的代码案例,类似与后台的maven包。前端因为node.js的发展

大量的Node.js使用者就建构了一个用NPM包管理工具管理的Node.js生态系统

 

1.3 包管理的发展

也是因为npm包的发展,促进了模块化开发的发展。

 

1.3.1 为什么模块很重要?

因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,没有规范则无法很好的一起玩耍了。

 

1.3.2 commonjs规范

在js发展的过程中,社区也在为JavaScript制定了相应的规范,其中CommonJS规范的提出算是最为重要的里程碑。在2009年8月,CommonJS诞生了。CommonJS规范为JavaScript制定了一个美好的愿景——希望JavaScript能够在任何地方运行。以达到像Python、Ruby和Java具备开发大型应用的基础能力,而不是停留在小脚本程序的阶段。

他们期望那些用CommonJS API写出的应用可以具备跨宿主环境执行的能力,这样不仅可以利用JavaScript开发富客户端应用,而且还可以编写以下应用,如服务器端JavaScript应用程序;命令行工具;桌面图形界面应用程序。 如今,CommonJS中的大部分规范虽然依旧是草案,但是已经初显成效,为JavaScript开发大型应用程序指明了一条非常棒的道路。目前,它依旧在成长中,这些规范涵盖了模块、二进制、Buffer、字符集编码、I/O流、进程环境、文件系统、套接字、单元测试、Web服务器网关接口、包管理等。

CommonJS是一种规范,业界有很多它的实现,其中最著名的是node.js

CommonJS定义的模块分为:{模块引用(require)} {模块定义(exports)} {模块标识(module)}

// package/lib is a dependency we require
var lib = require( "package/lib" );// behaviour for our module
function foo(){lib.log( "hello world!" );
}// export (expose) foo to other modules
exports.foo = foo;

 

1.3.3 AMD

基于commonJS规范的nodeJS出来以后,服务端的模块概念已经形成,很自然地,大家就想要客户端模块。而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行。

但是commonJs是为了后端的表现定制的规范,不适合前端。因为require的使用是同步的。这在后端没什么问题。但是浏览器肯定不行的。

所以AMD(异步模块定义)出现了,它就主要为前端JS的表现制定规范。

AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。

RequireJS就是实现了AMD规范的呢

require([module], callback);// math.jsdefine(function (){var add = function (x,y){return x+y;};return {add: add};});// main.jsrequire(['math'], function (math){alert(math.add(1,1));});

 

1.3.4 CMD

玉伯写了seajs,就是遵循他提出的CMD规范,与AMD蛮相近的

// 所有模块都通过 define 来定义
define(function(require, exports, module) {// 通过 require 引入依赖var $ = require('jquery');var Spinning = require('./spinning');// 通过 exports 对外提供接口exports.doSomething = ...// 或者通过 module.exports 提供整个接口module.exports = ...});

 

1.3.5 AMD & CMD的区别

作者:玉伯

链接:https://www.zhihu.com/question/20342350/answer/14828786

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

RequireJS 和 SeaJS 都是很不错的模块加载器,两者区别如下:

1. 两者定位有差异。RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器。SeaJS 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 服务器端

2. 两者遵循的标准有差异。RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范。规范的不同,导致了两者 API 的不同。SeaJS 更简洁优雅,更贴近 CommonJS Modules/1.1 和 Node Modules 规范。

3. 两者社区理念有差异。RequireJS 在尝试让第三方类库修改自身来支持 RequireJS,目前只有少数社区采纳。SeaJS 不强推,而采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略。

4. 两者代码质量有差异。RequireJS 是没有明显的 bug,SeaJS 是明显没有 bug。

5. 两者对调试等的支持有差异。SeaJS 通过插件,可以实现 Fiddler 中自动映射的功能,还可以实现自动 combo 等功能,非常方便便捷。RequireJS 无这方面的支持。

6. 两者的插件机制有差异。RequireJS 采取的是在源码中预留接口的形式,源码中留有为插件而写的代码。SeaJS 采取的插件机制则与 Node 的方式一致:开放自身,让插件开发者可直接访问或修改,从而非常灵活,可以实现各种类型的插件。还有不少细节差异就不多说了。

总之,SeaJS 从 API 到实现,都比 RequireJS 更简洁优雅。如果说 RequireJS 是 Prototype 类库的话,则 SeaJS 是 jQuery 类库。

最后,向 RequireJS 致敬!RequireJS 和 SeaJS 是好兄弟,一起努力推广模块化开发思想,这才是最重要的。

 

这里玉伯说了一句:“RequireJS 是没有明显的 bug,SeaJS 是明显没有 bug”。

版权归作者所有,任何形式转载请联系作者。

作者:U_U(来自豆瓣)

来源:https://www.douban.com/note/283566440/

SeaJS只会在真正需要使用(依赖)模块时才执行该模块

SeaJS是异步加载模块的没错, 但执行模块的顺序也是严格按照模块在代码中出现(require)的顺序

 

1.3.6 ECMASscript Module

// 报错
function f() {}
export f;// 正确
export function f() {};// 正确
function f() {}
export {f};
import { lastName as surname } from './profile.js';

export default 和 export的区别

// 第一组
export default function crc32() { // 输出// ...
}import crc32 from 'crc32'; // 输入// 第二组
export function crc32() { // 输出// ...
};import {crc32} from 'crc32'; // 输入

 

1.3.7 webpack对模块规范的支持

以CommonJS来编写,但也支持AMD、CMD模块(对于新项目,推荐直接使用CommonJS)

 

2. 前端为什么需要打包

从上面的文章可以看到,前端发展到今天,有几个特征:

  • 前后端分离
  • 模块化开发
  • 包依赖开发
  • 前端已经从site发展成application

最主要的两个点:

  1. 前端项目已经是一个比较复杂的前端应用,并且是模块化开发,如果不进行打包的话,前端的资源请求会很多,性能会比较差。
  2. 编译,目前前端js的语言还不是浏览器能够完全支持的,ES6,jsx,saas等高级语法还需要进行编译转换。而且三大框架的语法还是需要对应编译才可以在浏览器里运行,编译也是必须的。

 

3. 前端可选的打包工具对比

3.1 Grunt

Grunt是一个任务执行者,有大量现成的插件封装了常见的任务,也能管理任务之间的依赖关系,自动化执行依赖的任务,每个任务的具体执行代码和依赖关系写在配置文件 Gruntfile.js

Grunt的优点

  • 灵活,它只负责执行你定义的任务;
  • 大量的可复用插件封装好了常见的构建任务。

Grunt的缺点

集成度不高,要写很多配置后才可以用,无法做到开箱即用。

 

3.2 Gulp

Gulp 是一个基于流的自动化构建工具。 除了可以管理和执行任务,还支持监听文件、读写文件。Gulp 被设计得非常简单,只通过下面5种个方法就可以胜任几乎所有构建场景。

  • 通过 gulp.task 注册一个任务;
  • 通过 gulp.run 执行任务;
  • 通过 gulp.watch 监听文件变化;
  • 通过 gulp.src 读取文件;
  • 通过 gulp.dest 写文件。

Gulp 的优点是好用又不失灵活,既可以单独完成构建也可以和其它工具搭配使用。其缺点是和 Grunt 类似,集成度不高,要写很多配置后才可以用,无法做到开箱即用。

可以将Gulp 看作 Grunt 的加强版。相对于 Grunt,Gulp增加了监听文件、读写文件、流式处理的功能。

 

3.3 webpack 【webpack是什么?】

image.png

官方解释:是一个打包模块化 JavaScript 的工具,在 Webpack 里一切文件皆模块,通过 Loader 转换文件,通过 Plugin 注入钩子,最后输出由多个模块组合成的文件。Webpack 专注于构建模块化项目。

https://blog.csdn.net/zlzbt/article/details/104813855

  • 一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其他的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
  • Webpack 是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。
  • 模块化开发中,我们会编写大量模块,如果不打包就进行上线,那么页面加载或交互时,将会发起大量的请求。为了性能优化,需要使用webpack这样的打包器对模块进行打包整合,以减少请求数。就像简单的react项目,所有组件最终将被打包到一个app.js中。较于无差别打包依赖模块的传统打包器(Grunt和Gulp等),webpack的核心优势在于它从入口文件出发,递归构建依赖关系图。通过这样的依赖梳理,webpack打包出的bundle不会包含重复或未使用的模块,实现了按需打包,极大的减少了冗余

webpack可以很好的支持模块化开发,从项目的角度去构建前端工程化,可以做性能优化,按需打包,处理不同的资源。相比gulp,grant来说,维度处于更高的一个层级,从整个项目的维度。webpack的打包机制也是完美的契合前端页面加载,依赖的关系。前端的页面加载都会有初始页面,相当于初始入口。前端页面的加载顺序就是初始文件,然后加载对应文件的依赖文件。

 

3.4 webpack和gulp,grunt的对比

3.4.1 Grunt Gulp NPM脚本的比较

Tobias(webpack作者): NPM脚本对我而言足矣。实际上,说webpack是Grunt/Gulp的替代器并不完全准确。Grunt和Gulp以及NPM脚本都是任务执行程序。

Webpack是_模块打包程序_。这两类程序的目标不一样。但webpack简化了必须“过度使用”Grunt和Gulp和NPM脚本才能实现的Web开发任务也是事实。NPM脚本才是Grunt和Gulp的替代品。

image.png

不过,除了纯粹的构建之外,任务运行程序也有存在的理由,比如部署、代码检查、版本管理,等等。

 

3.4.2 Webpack与Grunt、Gulp运行机制

# grunt gulp 思路

【遍历源文件】->【匹配规则】->【打包】

做不到按需加载,对打包的资源,是否用到,打包过程不关心。

# webpack

【入口】->【模块依赖加载】->【依赖分析】->【打包】

在加载、分析、打包的过程中,可以针对性的做一些解决方案。比如:code split(拆分公共代码)

 

3.4.3 总结

  • gulp,grunt是web构建工具
  • webpack是模块化方案
  • gulp,grunt是基于任务和流
  • webpack基于入口文件
  • Grunt和Gulp的工作方式是:在一个配置文件中,指明对某些文件进行类似编译,组合,压缩等任务的具体步骤,工具之后可以自动替你完成这些任务。
  • Webpack的工作方式是:把你的项目当做一个整体,通过一个给定的主文件(如:index.js),Webpack将从这个文件开始找到你的项目的所有依赖文件,使用loaders处理它们,最后打包为一个(或多个)浏览器可识别的JavaScript文件。

 

4. webpack可以用来做什么【从零开始搭建简易webpack工程】

代码地址:https://github.com/rodchen-king/wepack-learn

4.1 初始项目

github地址

npm init -y       npm install webpack webpack-cli --save-devnpm install --save-dev style-loader css-loader
module: {// loaderrules: [{test: /\.css$/,use: ['style-loader','css-loader']}]}

 

4.2 js的处理:转换 ES6 代码,解决浏览器兼容问题

webpack4.44.1 似乎内部封装了babel-loader

github代码地址

npm install babel-loader@8.0.0-beta.0 @babel/core @babel/preset-env webpack
{test: /\.js$/,exclude: /(node_modules|bower_components)/,  // node_modules 目录或者其他不需要编译的源代码 use: {loader: 'babel-loader',options: {presets: [['@babel/preset-env', {       // 预设环境进行编译js,可以加入参数 https://www.jianshu.com/p/000c2670672b"targets": {"browsers": ["Firefox > 86"]}}]]}}}

 

4.3 css的处理:编译css,抽取css到独立文件

github地址

npm install --save-dev mini-css-extract-plugin
module: {// loaderrules: [{test: /\.css$/,use: [MiniCssExtractPlugin.loader, 'css-loader'],}]},plugins: [new MiniCssExtractPlugin(),]

 

4.4 html的处理:复制并压缩html文件

github代码地址

npm install --save-dev html-webpack-plugin
const HtmlWebpackPlugin = require('html-webpack-plugin');plugins: [new HtmlWebpackPlugin()
]

 

4.5 dist的清理:打包前清理源目录文件

github代码地址

npm install --save-dev clean-webpack-plugin
const { CleanWebpackPlugin } = require('clean-webpack-plugin');plugins: [new CleanWebpackPlugin()
]

 

4.6 assets的处理:静态资源处理

github代码地址

npm install --save-dev file-loader
npm install --save-dev csv-loader xml-loader
rules: [{test: /\.(png|svg|jpg|gif)$/,use: ['file-loader']},{test: /\.(woff|woff2|eot|ttf|otf)$/,use: ['file-loader']},{test: /\.(csv|tsv)$/,use: ['csv-loader']},{test: /\.xml$/,use: ['xml-loader']}]

 

4.7 server的启用:development 模式下启动服务器并实时刷新

github代码地址

npm install --save-dev webpack-dev-server
module.exports = {devServer: {contentBase: './dist'}
}
"scripts": {"start": "webpack-dev-server --open","test": "echo \"Error: no test specified\" && exit 1","build": "webpack"
}

 

4.8 source-map本地查看源代码调试

github代码地址

module.exports = {devtool: 'inline-source-map'
}

image.png

image.png

 

4.9 eslint

github代码地址

npm install eslint-loader --save-dev
npm install eslint --save-dev
npm install eslint-friendly-formatter --save
rules: [{test: /\.js$/,exclude: /node_modules/,loader: 'eslint-loader',include: [path.resolve(__dirname, 'src')],        // 指定检查的目录options: {                                        // 这里的配置项参数将会被传递到 eslint 的 CLIEngineformatter: require('eslint-friendly-formatter') // 指定错误报告的格式规范,formatter默认是stylish,如果想用第三方的要另外安装}}
}
module.exports = {'root': true,'plugins': ['html'],'settings': {'html/html-extensions': ['.wxml']},'rules': {'newline-per-chained-call': 'off','eqeqeq': 'off','indent': ['error', 4, { SwitchCase: 1 }],'prefer-rest-params': 'off','prefer-template': 'off','array-callback-return': 'off',  // 暂时关闭'prefer-const': 'warn','no-restricted-properties': [2, {'object': 'wx','property': 'navigateTo','message': 'Please use this.$goto!!!'}]}
}

image.png

 

4.10 前端开发过程中的代理处理

github代码地址

module.exports = {devServer: {proxy: {'/api': 'http://localhost:3000'}}
}

 

4.11 production处理

4.11.1 拆分dev和prd的webpack配置文件

github代码地址

npm install --save-dev webpack-merge
// webpack.commom.js const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {entry: './src/index.js',     // 相对根目录路径output: {filename: 'bundle.js',path: path.resolve(__dirname, '../dist')},module: {// loaderrules: [{test: /\.css$/,use: [MiniCssExtractPlugin.loader, 'css-loader'],},{test: /\.js$/,exclude: /(node_modules|bower_components)/,  // node_modules 目录或者其他不需要编译的源代码 use: {loader: 'babel-loader',options: {presets: [['@babel/preset-env', {       // 预设环境进行编译js,可以加入参数 https://www.jianshu.com/p/000c2670672b"targets": {"browsers": ["Firefox > 86"]}}]]}}},{test: /\.js$/,exclude: /node_modules/,loader: 'eslint-loader',include: [path.resolve(__dirname, 'src')],        // 指定检查的目录options: {                                        // 这里的配置项参数将会被传递到 eslint 的 CLIEngineformatter: require('eslint-friendly-formatter') // 指定错误报告的格式规范,formatter默认是stylish,如果想用第三方的要另外安装}},{test: /\.(png|svg|jpg|gif)$/,use: ['file-loader']},{test: /\.(woff|woff2|eot|ttf|otf)$/,use: ['file-loader']},{test: /\.(csv|tsv)$/,use: ['csv-loader']},{test: /\.xml$/,use: ['xml-loader']}]},plugins: [new MiniCssExtractPlugin(),new HtmlWebpackPlugin(),new CleanWebpackPlugin()]
};
// webpack.dev.js & webpack.prd.jsconst { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {devtool: 'inline-source-map',devServer: {contentBase: '../dist',proxy: {'/api': 'http://localhost:3000'}},
});
// package.json"scripts": {"start": "webpack-dev-server --open --config ./config/webpack.dev.js","test": "echo \"Error: no test specified\" && exit 1","build": "webpack --config ./config/webpack.prd.js"
},
 

4.11.2 prd处理,代码压缩 & 提取公共代码

github代码地址

npm i -D uglifyjs-webpack-plugin
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')module.exports = merge(common, {devtool: 'source-map',output: {chunkFilename: '[name].[chunkhash:8].js'},devServer: {contentBase: '../dist',proxy: {'/api': 'http://localhost:3000'}},optimization: {splitChunks: {cacheGroups: {vendor: {test: /[\\/]node_modules[\\/]/,name: 'common',chunks: 'all'}}}},plugins: [new UglifyJsPlugin()]
});

 

5. 服务构建环节理解

  • 如果与输入相关的需求,找entry(比如多页面就有多个入口)
  • 如果与输出相关的需求,找output(比如你需要定义输出文件的路径、名字等等)
  • 如果与模块寻址相关的需求,找resolve(比如定义别名alias)
  • 如果与转译相关的需求,找loader(比如处理sass处理es678N)
  • 如果与构建流程相关的需求,找plugin(比如我需要在打包完成后,将打包好的文件复制到某个目录,然后提交到git上)

 

6. webpack的知识脑图

📎webpack脑图 (1).xmind

脑图地址:https://www.processon.com/view/link/5f59849ee0b34d6f59ea4fa4

webpack脑图.jpg

 

参考文章:

https://www.webpackjs.com/concepts/

https://cnblogs.com/LuckyWinty/p/10116497.html

https://www.sohu.com/a/282933022_661296

https://www.cnblogs.com/moxiaowohuwei/p/8692359.html

https://www.zhihu.com/question/20342350

https://blog.csdn.net/qiuxi4057/article/details/80846595

https://blog.csdn.net/zlzbt/article/details/104813855

https://segmentfault.com/a/1190000015973544

https://www.cnblogs.com/LuckyWinty/p/10116497.html

 

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. webpack 更改默认host port 端口 webpack-dev-server

    在webpack.config.js中编辑节点 devServer: { host:’127.0.0.1’, port:8088 },...

    2024/4/29 14:29:23
  2. 关于webpack的loader小教程:如何删除代码中的console

    关于webpack的loader小教程:如何删除代码中的console 在开发环境中&#xff0c;我们经常会加入很多console.log来做代码的调试&#xff0c;但是我们并不希望当项目上线后,还会有打印的值,因此我们需要将这些console在上线前全部删掉。虽然webpack4中已经集成了去除console的功…...

    2024/4/21 14:47:24
  3. 双眼皮埋线不用拆线

    ...

    2024/4/21 14:47:23
  4. 双眼皮埋线半年还肿

    ...

    2024/4/21 14:47:21
  5. Processing Images(处理图像)

    Processing Images&#xff08;处理图像&#xff09; Core Image has three classes thatsupport image processing on iOS and OS X:&#xff08;在IOS和OS X上 Core Image 有三个类支持图像的处理&#xff09; CIFilter is a mutable object that represents an effect. A fi…...

    2024/4/21 14:47:20
  6. R统计绘图-corrplot热图绘制细节调整2(更改变量可视化顺序、非相关性热图绘制、添加矩形框等)

    上一篇文章推送的是怎样调整corrplot热图的可视化参数&#xff0c;以修改字符和图例位置&#xff0c;数据可视化形式和字符小大和颜色等这篇是一个补充部分&#xff0c;记录怎样修改参数以变量排序方式和突出部分数据。本流程还是使用R统计绘图-环境因子相关性热图中的不同土壤…...

    2024/4/21 14:47:20
  7. 流程定制

    今天在github上找到了一个用于流程定制的项目&#xff0c;svg实现流程图绘制&#xff0c;及流程图转xpdl和xml&#xff0c;导入导出json&#xff0c;感觉很棒&#xff0c;推荐给大家&#xff0c;也用于自己记录 项目链接&#xff1a;https://github.com/zhangyuanliang/flowch…...

    2024/4/21 14:47:18
  8. 轻量级流程图控件GoJS现已发布v2.1.50最新版本!

    GoJS是一款功能强大&#xff0c;快速且轻量级的流程图控件&#xff0c;可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图&#xff0c;且极大地简化您的JavaScript / Canvas 程序。 接下来让我们一起看看GoJS最新版本的具体情况吧&#xff1a; 2.1.50 的更新情况&#xf…...

    2024/4/21 14:47:17
  9. Angularjs执行流程

    一、启动阶段大家应该都知道&#xff0c;当浏览器加载一个HTML页面时&#xff0c;它会将HMTL页面先解析成DOM树&#xff0c;然后逐个加载DOM树中的每一个元素节点。我们可以把AngularJS当做一个类似jQuery的js库&#xff0c;我们通过<script>标签引入到HTML中&#xff0c…...

    2024/4/21 14:47:16
  10. openlayers--绘制图形

    文章目录版本说明引入依赖根据geojson绘制地图创建绘制图层绘制图形关闭绘图根据坐标绘制多边形删除图层所有图形清除图层总结参考版本说明 angular&#xff1a; ~10.1.0 typescript:&#xff1a;~4.0.2 ol: ^6.4.3 引入依赖 import ol/ol.css; import Map from ol/Map; imp…...

    2024/5/1 9:44:20
  11. 双眼皮埋线9mm一个月

    ...

    2024/4/21 14:47:14
  12. 双眼皮埋线5年了修复

    ...

    2024/5/1 14:53:54
  13. #学习笔记#(48)angularjs ng-include

    比如&#xff0c;在index.html中&#xff0c;要包含index2.html中的内容&#xff0c;代码如下&#xff1a; index.html <!doctype html> <html ng-app""> <head><meta charset"UTF-8"><title>Document</title> </…...

    2024/4/26 19:19:34
  14. 双眼皮埋线2个月就没了

    ...

    2024/4/21 14:47:12
  15. 7.包含(ng-Include)

    转自&#xff1a;https://www.cnblogs.com/best/tag/Angular/ 获取、编译并引用一个外部HTML片段(也可以是内部的) 默认情况下&#xff0c;模板URL被强制为使用与应用文档相同的域名和协议。这是通过调用$sce.getTrustedResourceUrl 实现的。为了从其它的域名和协议载入模板&am…...

    2024/4/21 14:47:11
  16. angularjs使用include后双向绑定失败的解决

    原理参考 [url]http://segmentfault.com/q/1010000000738004/a-1020000000738812[/url] [url]http://blog.csdn.net/dm_vincent/article/details/38705099[/url] 解决参考 [url]http://segmentfault.com/q/1010000002877397[/url] [url]http://blog.51yip.com/jsjquery/1598.ht…...

    2024/5/2 8:57:51
  17. angularjs $watch ng-include 中的变量引发的问题

    最近接触一个新项目&#xff0c;用到了angularjs&#xff0c;之前对angularjs不熟悉&#xff0c;于是就被坑了&#xff0c;在这里小计一下。 我有两个文件&#xff0c;文件a.html内容如下&#xff1a; <html><head><script srcangular.js></script>&…...

    2024/4/24 15:22:55
  18. [概念]Base64编码

    开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该。Base64编码由来为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像AS…...

    2024/4/20 15:16:11
  19. ng-include 指令

    ng-include 指令用于包含外部的 HTML 文件。 包含的内容将作为指定元素的子节点。 ng-include 属性的值可以是一个表达式&#xff0c;返回一个文件名。 默认情况下&#xff0c;包含的文件需要包含在同一个域名下。 注意引用文件名要加单引号 即 ng-include" ‘index.html…...

    2024/4/20 15:16:09
  20. angularjs script 标签不能通过ng-include 加载

    今天发现一个通过ng-include 加载的页面在ie8下不显示不出来&#xff0c;检查发现引用页面里有script 标签&#xff0c;搜索发现是因为https://github.com/angular/angular.js/issues/3756 已经不支持在ng-include 里加载script标签。 解决办法&#xff1a;依照neemzy 这哥们提…...

    2024/4/21 14:47:09

最新文章

  1. TS 泛型

    泛型&#xff08;宽泛的&#xff0c;不确定的类型&#xff09; 使用场景&#xff1a;定义一个函数或类时&#xff0c;无法确定要使用的具体类型&#xff08;返回值、参数、属性的类型不能确定&#xff09;泛型使用时相当于一个参数 functiondemo<T>(arg: T): T{return …...

    2024/5/4 14:52:13
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Vue3学习笔记+报错记录

    文章目录 1.创建Vue3.0工程1.1使用vue-cli创建1.2 使用vite创建工程1.3.分析Vue3工程结构 2.常用Composition2.1 拉开序幕的setup2.2 ref函数_处理基本类型2.3 ref函数_处理对象类型2.4 ref函数使用总结 1.创建Vue3.0工程 1.1使用vue-cli创建 查看vue/cli版本&#xff0c;确保…...

    2024/5/4 13:03:24
  4. 校园局域网钓鱼实例

    Hello &#xff01; 我是"我是小恒不会java" 本文仅作为针对普通同学眼中的网络安全&#xff0c;设计的钓鱼案例也是怎么简陋怎么来 注&#xff1a;本文不会外传代码&#xff0c;后端已停止使用&#xff0c;仅作为学习使用 基本原理 内网主机扫描DNS劫持前端模拟后端…...

    2024/5/3 13:25:40
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57