webpack插件编写

by Anurag Majumdar

通过阿努拉格·马朱达尔

如何使用Webpack和渐进式Web技术编写简单的现代JavaScript应用程序 (How to write simple modern JavaScript apps with Webpack and progressive web techniques)

Have you thought about making modern JavaScript applications with the simplest setup possible for your next project?

您是否考虑过用下一个项目的最简单设置制作现代JavaScript应用程序?

If so, you have come to the right place!

如果是这样,那么您来对地方了!

JavaScript frameworks exist to help us build applications in a generalized way with most of the common features. But most of the applications may not need all the powerful features of a framework. It may be overkill to just use a framework for specific requirements (especially small to medium scale projects).

存在JavaScript框架来帮助我们以大多数常用功能以通用方式构建应用程序。 但是大多数应用程序可能不需要框架的所有强大功能。 仅将框架用于特定需求(特别是中小型项目)可能会过大。

Today I am going to show an approach to how you can use modern features and build your own customized Web Applications. You can also build your own framework on top of the sample applications if you want to. That is purely optional. The power of Vanilla JavaScript enables us to follow our own coding style irrespective of the tools used.

今天,我将向您展示一种如何使用现代功能并构建自己的自定义Web应用程序的方法。 如果需要,您还可以在示例应用程序之上构建自己的框架。 那纯粹是可选的。 Vanilla JavaScript的强大功能使我们能够遵循自己的编码风格,而与所使用的工具无关。

我们需要的 (What We Need)

Before starting out, let us quickly skim through the features we need.

在开始之前,让我们快速浏览一下所需的功能。

建筑规划 (Architectural Planning)

To ensure fast loading and consistent experiences, we’ll use the following patterns:

为了确保快速加载和一致的体验,我们将使用以下模式:

  • Application Shell Architecture

    应用程序外壳架构
  • PRPL (Push, Render, Pre-cache, Lazy loading) pattern

    PRPL(P USH,R安德,P重新缓存,L AZY装载)图案

构建设置 (Build Setup)

We need a good custom build setup, so we will be using Webpack with the following requirements:

我们需要一个好的自定义构建设置,因此我们将使用具有以下要求的Webpack:

  • ES6 & Dynamic Imports support

    ES6和动态导入支持
  • SASS & CSS support

    SASS和CSS支持
  • Custom development & production setup

    定制开发和生产设置
  • Custom Service Worker Build

    定制服务工作者版本

裸露的最低JavaScript功能 (Bare Minimum JavaScript Features)

We will be touching on minimal JavaScript features to get us off the ground and produce the output we require. I will show you how we can use existing JavaScript ES6 features in our day to day vanilla applications. Here they are:

我们将介绍一些最小JavaScript功能,以使我们起步并产生所需的输出。 我将向您展示如何在日常的普通应用程序中使用现有JavaScript ES6功能。 他们来了:

  • ES6 Modules

    ES6模块
  • Dynamic Imports

    动态导入
  • Object Literal Syntax Or ES6 Class Syntax

    对象文字语法或ES6类语法
  • ES6 Arrow Functions

    ES6箭头功能
  • ES6 Template Literals

    ES6模板文字

At the end of this article there is a sample application demo along with its source code on GitHub. Let’s dig deeper, shall we? ?

在本文的最后,有一个示例应用程序演示及其在GitHub上的源代码。 让我们深入研究吧? ?

建筑规划 (Architectural Planning)

The advent of Progressive Web Applications has helped bring new architectures in order to make our first paint more effective. Combining App Shell and PRPL patterns can result in consistent responsiveness and app-like experiences.

渐进式Web应用程序的出现有助于引入新的体系结构,以使我们的第一幅画更有效。 结合使用App ShellPRPL模式可以产生一致的响应速度和类似App的体验。

什么是App Shell和PRPL? (What is App Shell & PRPL?)

App Shell is an architectural pattern for building Progressive Web Applications where you ship the minimal critical resources in order to load your site. This basically consists of all the necessary resources for the first paint. You may cache the critical resources as well using a service worker.

App Shell是用于构建渐进式Web应用程序的体系结构模式,您可以在其中运送最少的关键资源 为了加载您的网站。 这基本上包括第一个油漆的所有必要资源。 您也可以使用服务工作者来缓存关键资源。

PRPL refers to the following:

PRPL涉及以下内容:

  • Push critical resources (especially using HTTP/2) for the initial route.

    P USH临界资源(特别是使用HTTP / 2)对于初始路线。

  • Render the initial route.

    ř安德初始路径。

  • Pre-cache remaining routes or assets.

    P重新缓存剩余的路由或资产。

  • Lazy load portions of an application as and when required (especially when required by a user).

    大号 AZY应用程序在需要时(特别是在需要时通过用户)的负载部分。

这些架构在代码中是什么样的? (What Do These Architectures Look Like In Code?)

The App Shell and PRPL pattern are both used together to achieve the best practices.

App ShellPRPL模式一起使用以实现最佳实践。

The App shell looks somewhat like the following piece of code:

App Shell看起来类似于以下代码:

You can see that the application shell consists of the bare minimum markup as a skeleton.

您可以看到应用程序外壳程序由最低限度的标记作为框架组成。

Lines 9–82: Critical styles have been introduced into markup to ensure direct parsing of CSS instead of linking it to another file.

第9–82行 :标记中引入了关键样式,以确保直接解析CSS,而不是将其链接到另一个文件。

Lines 89–96: Main application shell markup; these areas will be later manipulated by JavaScript (especially, the contents inside the main tag of line 93).

第89–96行 :主应用程序shell标记; 这些区域稍后将由JavaScript处理(特别是第93行的main标签内的内容)。

Line 99: This is where the scripts come into play. The async attribute helps in not blocking the parser while the scripts get downloaded.

第99行 :这是脚本起作用的地方。 异步属性有助于在下载脚本时不阻止解析器。

The app shell also enforces Push & Render stages of the PRPL pattern. This happens when HTML is parsed by the browser to form pixels on the screen. It readily finds all the critical resources. Also, the critical scripts are responsible for showing the initial route by DOM manipulation (Render).

应用程序外壳程序还强制执行PR PL模式的PushRender阶段。 当浏览器解析HTML以在屏幕上形成像素时,就会发生这种情况。 它可以轻松找到所有关键资源。 同样, 关键脚本负责通过DOM操作( Render )显示初始路由

However, if we do not use a Service worker to cache the shell, it won’t be of any use for future reloads and performance benefits.

但是,如果我们不使用Service worker来缓存Shell,则对于将来的重新加载和性能提升将毫无用处。

The following code snippet shows a service worker which caches the shell and all the static assets required for the application.

以下代码片段显示了一个服务工作者,该服务工作者缓存了外壳程序和应用程序所需的所有静态资产。

Lines 4–17: The install event of service workers helps to cache all the static assets. Here, you can cache the app shell resources (CSS, JavaScript, images, etc.) for the first route (as per App shell). Also, you can cache the remainder of the assets of the application ensuring the whole app can run offline too. This caching of static assets apart from the main app shell ensures the Pre-cache stage of the PRPL pattern.

第4-17行 :Service Worker的install事件有助于缓存所有静态资产。 在这里,您可以为第一个路由(根据App Shell)缓存App Shell资源(CSS,JavaScript,图像等)。 另外,您可以缓存应用程序的其余资产,以确保整个应用程序也可以脱机运行。 除了主应用程序外壳之外,静态资产的这种缓存确保了PR P L模式的Pre-cache阶段。

Lines 19–38: The activate event is the place for cleaning up of unused caches.

第19–38行:Activate事件是清理未使用的缓存的地方。

Lines 40–63: These lines of code help in fetching resources from the cache if they are in cache or go to network. Also, if a network call is made, then the resource is not in cache and put into a new separate cache. This scenario helps to cache all dynamic data for an application.

第40–63行 :这些代码行有助于从缓存中获取资源(如果它们在缓存中或进入网络)。 同样,如果进行了网络调用,则资源不在缓存中,而是放入新的单独缓存中。 这种情况有助于缓存应用程序的所有动态数据。

All in all, most of the parts of the architecture have been covered. The only part left is the Lazy loading stage of the PRPL pattern. I will discuss this with regards to JavaScript.

总而言之,已经涵盖了该体系结构的大部分部分。 剩下的唯一部分是PRP L模式的延迟加载阶段。 我将就JavaScript进行讨论。

我们的构建设置 (Our Build Setup)

What is a good architectural structure without a build setup? Webpack to the rescue. There are other tools like Parcel, Rollup etc. out there, but whatever concepts we apply to Webpack can be applied to any such tool.

没有构建设置的好的建筑结构是什么? Webpack进行了救援。 还有其他工具,例如Parcel,Rollup等,但是我们应用于Webpack的任何概念都可以应用于任何此类工具。

I will map the concepts used to the plugins so that you can get hold of the basics used for setting up of the workflow. This is the most important step to getting started with a good reusable build config for your own application for the future.

我将使用的概念映射到插件,以便您掌握用于设置工作流的基础知识。 这是将来为自己的应用程序建立良好的可重用构建配置的最重要步骤。

I know how difficult it is for developers like us to configure Webpack or any tool for that matter from scratch. The following article was an inspiration which helped me to create my own build setup:

我知道对于像我们这样的开发人员从头开始配置Webpack或任何工具有多困难。 以下文章是一个启发,它帮助我创建了自己的构建设置:

A tale of Webpack 4 and how to finally configure it in the right way. Updated.

Webpack 4的故事以及如何最终以正确的方式进行配置。 更新。

Do refer to the above link if you get stuck anywhere with the build setup. For now let us check out the concepts required for the build.

如果您在构建设置中遇到任何困难,请参考上面的链接。 现在,让我们检查构建所需的概念。

ES6和动态导入支持 (ES6 & Dynamic Imports support)

Babel is a popular transpiler which is there to help us with transpiling ES6 features down to ES5. We will need the following packages to enable babel working with webpack:

Babel是一个受欢迎的转译器,可以帮助我们将ES6的功能转译为ES5。 我们将需要以下软件包来使babel与webpack一起工作:

  • @babel/core

    @ babel /核心
  • @babel/plugin-syntax-dynamic-import

    @ babel / plugin-syntax-dynamic-import
  • @babel/preset-env

    @ babel /预设环境
  • babel-core

    巴别核心
  • babel-loader

    巴别塔
  • babel-preset-env

    babel预设环境

Here is a sample babelrc for reference:

这是一个示例babelrc供参考:

During babel setup, we need to feed the following 2nd line in presets to enable babel to transpile ES6 down to ES5 and the 3rd line in plugins to enable the dynamic import support with Webpack.

在babel设置期间,我们需要在预设中提供以下第二行 ,以使babel可以将ES6向下转换为ES5,然后将第三行 插件以启用Webpack的动态导入支持。

Here is how babel is used with Webpack:

这是babel与Webpack一起使用的方式:

Lines 10–17: The babel loader is used to set up the babel transpilation process in webpack.config.js. For simplicity, the other parts of the config have been eliminated or commented out.

第10-17行 :babel loader用于在webpack.config.js中设置babel的转译过程。 为了简单起见,已删除或注释掉了配置的其他部分。

SASS和CSS支持 (SASS & CSS Support)

For setting up SASS and CSS you need the following packages:

要设置SASS和CSS,您需要以下软件包:

  • sass-loader

    萨斯装载机
  • css-loader

    CSS加载器
  • style-loader

    样式加载器
  • MiniCssExtractPlugin

    MiniCssExtractPlugin

Here is how the config looks like:

这是配置的样子:

Lines 17–25: This is the area where the loaders are registered.

第17–25行 :这是装载程序的注册区域。

Lines 29–31: Since we are using a plugin to extract a CSS file, we are using the MiniCssExtractPlugin here.

第29–31行 :由于我们使用的是插件来提取CSS文件,因此我们在此处使用的是MiniCssExtractPlugin

定制开发和生产设置 (Custom Development & Production Setup)

This is the most important section of the build process. We all know that we need a development and production build setup for developing applications and also deploying the final distributable to the web.

这是构建过程中最重要的部分。 我们都知道,我们需要开发和生产版本设置来开发应用程序,并部署最终可分发到Web的版本。

Here are the packages that will get used:

这是将要使用的软件包:

  • clean-webpack-plugin: For cleanup of the dist folder contents.

    clean-webpack-plugin :用于清理dist文件夹的内容。

  • compression-webpack-plugin: For gzipping the dist folder file contents.

    compression-webpack-plugin :用于gzip 压缩 dist文件夹的文件内容。

  • copy-webpack-plugin: For copying static assets, files or resources from application source to dist folder.

    copy-webpack-plugin :用于将静态资产,文件或资源从应用程序源复制到dist文件夹。

  • html-webpack-plugin: For creating an index.html file in the dist folder.

    html-webpack-plugin :用于在dist文件夹中创建index.html文件。

  • webpack-md5-hash: For hashing application source files in the dist folder.

    webpack-md5-hash :用于散布 dist文件夹中的应用程序源文件。

  • webpack-dev-server: For running a local development server.

    webpack-dev-server :用于运行本地开发服务器。

Here is the final Webpack config file:

这是最终的Webpack配置文件:

Lines 9–77: The entire webpack config is a function which takes two arguments. Here I have used the argv i.e., the arguments sent while running the webpack or webpack-dev-server commands.

第9–77行:整个webpack配置是一个带有两个参数的函数。 在这里,我使用了argv,即运行webpack或webpack-dev-server命令时发送的参数。

The below image shows the scripts section in package.json.

下图显示了package.json中的脚本部分。

Accordingly, if we run npm run build it will trigger a production build, and if we run npm run serve it will trigger a development flow with a local development server.

因此,如果我们运行npm run build ,它将触发生产构建,而如果我们运行npm run serve ,则将触发本地开发服务器的开发流程。

Lines 44–77: These lines show how the plugins and the development server config needs to be setup.

第44–77行 :这些行显示了如何设置插件和开发服务器配置。

Lines 59–66: These lines are any resources or static assets which need to be copied over from the application source.

第59–66行 :这些行是需要从应用程序源复制过来的任何资源或静态资产。

定制服务工作者版本 (Custom Service Worker Build)

Since we all know how tedious it is to write the names of all the files again for caching, I made a custom service worker build script for catching hold of the files in the dist folder and then adding them as contents of the cache in the service worker template. Finally, the service worker file will get written to the dist folder.

既然我们都知道再次写入所有文件的名称以进行缓存是多么乏味,所以我制作了一个定制服务工作者构建脚本来捕获dist文件夹中的文件,然后将它们作为服务中的缓存内容添加工人模板。 最后,服务工作者文件将被写入dist文件夹。

The concepts regarding the service worker file we talked about will be the same. Here is the script in action:

我们讨论的关于服务工作者文件的概念将相同。 这是运行中的脚本:

Lines 8–18: This is the place where all the contents of the dist folder are captured as an array staticAssetsCacheFiles.

第8-18行 :这是将dist文件夹的所有内容捕获为数组staticAssetsCacheFiles的地方。

Lines 22–85: This is the service worker template we talked about before. The concepts are exactly the same, just that we are introducing variables into the template so that we can reuse the service worker template and make it handy for future use. This template was also required since we needed to add dist folder contents to the cache as per line 33.

第22–85行 :这是我们之前讨论的服务人员模板。 这些概念是完全相同的,只是我们将变量引入模板中,以便我们可以重用Service Worker模板并将其方便将来使用。 由于我们需要按照第33行将 dist文件夹内容添加到缓存中,因此也需要此模板。

Lines 87–90: Finally, a new service worker file will get written to the dist folder along with its contents from the service worker template serviceWorkerScript.

第87–90行 :最后,一个新的服务工作者文件将与服务工作者模板serviceWorkerScript中的内容一起写入dist文件夹。

The command to run the above script is node build-sw and it should be run after webpack --mode production is done.

运行上述脚本的命令是node build-sw ,它应该在完成webpack --mode生产之后运行。

This service worker build script really helped me a lot in caching files easily. I am currently using this for my own side projects due to its simplicity and great ease of tackling the caching problem.

这个服务人员构建脚本确实对我轻松缓存文件有很大帮助。 由于它的简单性和轻松解决缓存问题的能力,我目前正在将其用于自己的辅助项目。

If you guys want to use a library for Progressive Web Application related features, you can go for Workbox. This library does some real neat stuff and has amazing features which you can take control of.

如果您想使用与渐进式Web应用程序相关的功能的库,可以使用Workbox 。 该库执行了一些真正的整洁的工作,并具有您可以控制的惊人功能。

最后看包装 (Final Look At The Packages)

Here is a sample package.json file with all dependencies:

这是一个带有所有依赖项的package.json文件示例:

Remember that Webpack gets updated frequently, and changes keep happening in the community with new plugins replacing existing ones. So it is important to keep a note of the concepts required for a build setup rather than the actual packages used.

请记住,Webpack经常更新,并且社区中不断发生变化,新的插件取代了现有的插件。 因此,重要的是要注意构建设置所需的概念,而不是实际使用的软件包。

JavaScript功能 (JavaScript Features)

We all have a choice: either to write our own framework for certain features to be used by our application such as change detection, routing, storage patterns, redux etc, or pull already existing packages for such features.

我们都有一个选择:要么为我们的应用程序要使用的某些功能(例如更改检测,路由,存储模式,redux等)编写我们自己的框架,要么为这些功能提取现有的软件包。

Now I’ll speak about the bare minimum features required in order to structure the layout of our application and get it going. Later on you can add your own frameworks or packages to the application.

现在,我将讨论构建应用程序布局并使之运行所需的最低限度的功能。 稍后,您可以将自己的框架或软件包添加到应用程序中。

ES6模块 (ES6 Modules)

We will use ES6 import and export statements and treat each file as an ES6 module. This feature is commonly used by popular frameworks like Angular and React and is pretty handy. With the power of our Webpack config, we can fully utilize the power of import and export statements.

我们将使用ES6导入和导出语句,并将每个文件视为ES6模块。 Angular和React等流行框架通常使用此功能,并且非常方便。 借助Webpack配置的功能,我们可以充分利用导入和导出语句的功能。

对象文字语法或ES6类语法 (Object Literal Syntax Or ES6 Class Syntax)

Building components is a very important part of our application. We can choose to go with the latest web standards like Web Components too, but to keep things simple we can go ahead and use object literal syntax or ES6 class syntax.

构建组件是我们应用程序中非常重要的一部分。 我们也可以选择使用最新的Web标准,例如Web Components,但是为了使事情简单,我们可以继续使用对象文字语法或ES6类语法。

The only thing with class syntax is that we need to instantiate it and then export it. So to keep things even simpler, I went ahead with object literal syntax for component architecture.

类语法的唯一作用是我们需要实例化然后导出它。 为了使事情变得更简单,我着手进行组件体系结构的对象文字语法。

import { appTemplate } from './app.template';
import { AppModel } from './app.model';export const AppComponent = {init() {this.appElement = document.querySelector('#app');this.initEvents();this.render();},initEvents() {this.appElement.addEventListener('click', event => {if (event.target.className === 'btn-todo') {import( /* webpackChunkName: "todo" */ './todo/todo.module').then(lazyModule => {lazyModule.TodoModule.init();}).catch(error => 'An error occurred while loading Module');}});document.querySelector('.banner').addEventListener('click', event => {event.preventDefault();this.render();});},render() {this.appElement.innerHTML = appTemplate(AppModel);}
};

Lines 4–32: We export an object called AppComponent which is immediately available for use in other parts of our application.

第4至32行:我们导出一个名为AppComponent的对象,该对象可立即在应用程序的其他部分中使用。

You can go ahead and use ES6 class syntax or standard Web Components too and achieve a more declarative way of writing code here. For simplicity’s sake, I chose to write the demo application in a more imperative approach.

您也可以继续使用ES6类语法或标准Web组件,并在此处实现更具声明性的代码编写方式。 为简单起见,我选择以一种更必要的方法编写演示应用程序。

动态导入 (Dynamic Imports)

Remember I talked about missing out on the “L” of the PRPL pattern? Dynamic import is the way to go ahead and lazy load our components or modules. Since we used the App Shell and PRPL together to cache the shell and other route assets, dynamic imports import the lazy component or module from the cache instead of the network.

还记得我谈论过错过PRPL模式的“ L”吗? 动态导入是继续加载组件或模块的方式。 由于我们将App ShellPRPL一起用于缓存外壳程序和其他路由资产,因此动态导入会从缓存而非网络中导入惰性组件或模块。

Note that if we only used App Shell architecture, the remaining assets of the application i.e., the contents of chunks folder, would not have been cached.

请注意,如果仅使用App Shell架构,则不会缓存应用程序的其余资产(即文件夹的内容)。

Lines 15–19: Refer to App Component code; this is the place where dynamic imports shine. If we click on a button having the class btn-todo, then only this TodoModule gets loaded. By the way, TodoModule is just another JavaScript file which consists of a set of object components.

第15-19行:请参阅应用组件代码; 这是动态进口大放异彩的地方。 如果我们单击具有btn-todo类的按钮则仅加载此TodoModule 。 顺便说一下, TodoModule只是另一个JavaScript文件,它由一组对象组件组成。

ES6箭头功能和ES6模板文字 (ES6 Arrow Functions & ES6 Template Literals)

Arrow functions should be used especially where we want to make sure of the this keyword inside the function, which should refer to the surrounding context where the arrow function is declared. Apart from that, these functions really help in creating neat shorthand syntax.

特别是在我们要确保函数内部的this关键字的情况下,应使用箭头函数, 关键字应引用声明箭头函数的周围上下文。 除此之外,这些功能确实有助于创建简洁的速记语法。

export const appTemplate = model => `<section class="app"><h3> ${model.title} </h3><section class="button"><button class="btn-todo"> Todo Module </button></section></section>
`;

The above example is a template function defined as an arrow function which accepts a model and returns an HTML string consisting of the model data in it. String interpolation is carried out with the help of ES6 template literals. The real benefit of template literals is multi-line strings and interpolation of model data into the string.

上面的示例是一个定义为箭头函数的模板函数,该模板函数接受模型并返回其中包含模型数据HTML字符串。 字符串插值是借助ES6模板文字进行的 。 模板文字的真正好处是多行字符串和模型数据插值到字符串。

Here’s a micro tip for handling component templating and generation of reusable components: use the reduce function to accumulate all HTML strings as per the following example:

这是一个处理组件模板和生成可重用组件的微技巧:按照以下示例,使用reduce函数累积所有HTML字符串:

The above piece of code does a great deal of work indeed. Simple yet intuitive. It does follow a little inspiration from the frameworks out there.

上面的代码确实做了很多工作。 简单而直观。 它确实从那里的框架中获得了一些启发。

Lines 1–19: This is a sample model array on which the reduce function can run in order to give the reusable template feature.

第1-19行 :这是一个示例模型数组,可在其上运行reduce函数以提供可重复使用的模板功能。

Line 53: This line does all the magic in generating multiple reusable components into one HTML string. The reduce function takes in the accumulator as the first argument, and each value of the array as the second argument.

第53在将多个可重复使用的组件生成到一个HTML字符串中时,这一行发挥了所有魔力。 reduce函数将累加器作为第一个参数,并将数组的每个值作为第二个参数。

Thanks to these simple features, we already have an application structure in place. The best way to learn a feature is to put it in action they say, so here we are. ?

由于这些简单的功能,我们已经有了一个应用程序结构。 学习功能的最好方法是将其付诸实践,他们就这么说了。 ?

应用示范 (Application Demo)

Congratulations on reaching here!

恭喜您到达这里!

This post covered a lot of features indeed and getting hold of all the concepts and techniques will take some time.

这篇文章确实涵盖了很多功能,掌握所有概念和技术将需要一些时间。

Here is a demo of the to-do application built with all the features as discussed in this article. Click here to visit the site.

这是使用本文中讨论的所有功能构建的待办应用程序的演示。 单击此处访问该站点。

Click here for the link to GitHub repository. Feel free to clone the repository and go through the code for a better understanding of the conceptual examples mentioned in the article.

单击此处以链接到GitHub存储库。 随意克隆存储库并遍历代码,以更好地理解本文中提到的概念性示例。

样品制作应用 (Sample Production App)

The production site is a portfolio which was designed, developed and engineered from scratch using the exact features as specified in this article. The Single Page Application is broken down into custom modules and components.

生产站点是一个投资组合,它使用本文指定的确切功能从头开始进行设计,开发和设计。 单页应用程序分为自定义模块组件

The flexibility and power that comes with Vanilla JavaScript is something unique and does help in producing some astonishing results.

Vanilla JavaScript附带的灵活性和强大功能是独特的,确实有助于产生一些惊人的结果。

Click here to go to the site. Here is the site in action:

单击此处转到该站点。 这是实际的网站:

Do visit the site to get a feel for it. The colors are not accurately produced in the demo here. The engineering put into this site produced the following results:

请访问该网站以了解它。 颜色在此演示中无法准确生成。 放入该站点的工程产生了以下结果:

Never scored a perfect 100 before in any subject. 🙏

在任何科目上都从未获得过完美的100分。 🙏

结论 (Conclusion)

There are several projects we might like to build using Vanilla JavaScript instead of frameworks in order to achieve certain results quickly. I wrote this article to help developers use a simple custom setup to build their future projects.

我们可能想使用Vanilla JavaScript而不是框架来构建多个项目,以便快速实现某些结果。 我写这篇文章是为了帮助开发人员使用简单的自定义设置来构建他们未来的项目。

The best part about the Vanilla framework is that developers have the freedom to shape their engineering thought patterns according to various use cases. Be it Imperative or Declarative style of programming, creating or using of latest existing features. As long as we produce consistent and performant applications with good code maintainability, our job is done for the day.

Vanilla框架的最好之处在于,开发人员可以根据各种用例自由设计其工程思维模式。 编程,创建或使用最新现有功能的命令式或声明式样式。 只要我们生成具有良好代码可维护性的一致且高性能的应用程序,我们的工作就会一天完成。

Happy hacking! 😄

骇客入侵! 😄

Find me at https://medium.com/@anurag.majumdar

在https://medium.com/@anurag.majumdar找到我

➥网站开发 (➥ Web Development)

  • Progressive Web App Shell: The Key To Loading Your Site Under 1 Second!

    渐进式Web App Shell:在1秒内加载网站的关键!

  • “Super” and “Extends” In JavaScript ES6 — Understanding The Tough Parts

    JavaScript ES6中的“超级”和“扩展” —了解困难之处

  • Introduction To Polyfills & Their Usage

    Polyfills简介及其用法

➥生活事件 (➥ Life Event)

  • Udacity’s Google Mobile Web Scholarship Challenge and its glorious effects!

    Udacity的Google移动网络奖学金挑战赛及其辉煌的成就!

翻译自: https://www.freecodecamp.org/news/how-to-write-simple-modern-javascript-apps-with-webpack-and-progressive-web-techniques-a30354eab214/

webpack插件编写

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

相关文章

  1. 轻松的节点身份验证:将所有帐户链接在一起

    This will be the final article in our Easy Node Authentication Series. We will be using all of the previous articles together. 这将是我们的Easy Node Authentication Series中的最后一篇文章。 我们将一起使用所有先前的文章。 Edit 11/18/2017: Updated to reflect…...

    2024/4/21 12:29:55
  2. 如何使用Entity Framework Core和Highcharts创建费用管理器

    介绍 (Introduction) In this article, we will be creating a personal expense manager using ASP.NET Core 2.1 and Entity Framework (EF) core Code First approach. This expense manager tracks your daily expenses and provides comparative charts to show your expe…...

    2024/5/6 22:33:00
  3. 你们这些阿猫

    缘起 考完 Final 又是一个 Spring Break&#xff0c;10 天很无聊啊&#xff0c;人一无聊就想写代码&#xff0c;但是前面写守望 UI CSS 的时候写伤了&#xff0c;而且 Spring Break 就 10 天&#xff0c;实在不想写一个大项目。 有一天听到了古巨基的《爱与诚》里面唱的&#x…...

    2024/5/3 9:50:02
  4. React+Redux打造“NEWS EARLY”单页应用 一步步让你理解最前沿技术栈的真谛

    之前写过一篇文章&#xff0c;分享了我利用闲暇时间&#xff0c;使用ReactRedux技术栈重构的百度某产品个人中心页面。您可以参考这里&#xff0c;或者参考Github代码仓库地址。 这个工程实例中&#xff0c;我采用了厂内的工程构建工具&#xff0d;FIS&#xff0c;并贯穿了reac…...

    2024/4/21 12:29:52
  5. React+Redux 打造 “NEWS EARLY” 单页应用 一个项目理解最前沿技术栈真谛

    之前写过一篇文章&#xff0c;分享了我利用闲暇时间&#xff0c;使用ReactRedux技术栈重构的百度某产品个人中心页面。您可以参考这里&#xff0c;或者参考Github代码仓库地址。这个工程实例中&#xff0c;我采用了厂内的工程构建工具&#xff0d;FIS3&#xff0c;并贯穿了reac…...

    2024/5/6 22:05:23
  6. 基于SSM框架大型分布式电商系统开发(13-14)

    前言 消息中间件解决方案JMSSpringBoot框架与短信解决方案 因为是根据大佬的项目点滴做起&#xff0c;如果看到此博客侵犯利益&#xff0c;请告知立即删除。 第13章 消息中间件解决方案JMS 1.JMS入门 1.1 消息中间件 1.1.1 品优购系统模块调用关系分析 我们已经完成了5个w…...

    2024/4/21 12:29:50
  7. 双眼皮恢复慢体质

    ...

    2024/5/2 6:06:27
  8. 埋线双眼皮11豪

    ...

    2024/4/21 12:29:48
  9. 一、Webstrom+React+Ant Design+echarts搭建react项目

    前言 一、React是Facebook推出的一个前端框架&#xff0c;之前被用于著名的社交媒体Instagram中&#xff0c;后来由于取得了不错的反响&#xff0c;于是Facebook决定将其开源。出身名门的React也不负众望&#xff0c;成功成为当前最火热的三大前端框架之一。相比于Angular&…...

    2024/4/21 12:29:47
  10. 使用 Vue + ElementUI + Webpack + VueRouter 做后台管理、RESTful 交互

    一、前言 1、前端三大 JS 框架 Vue、React、Angular 都用了一段时间了&#xff0c;最后还是回归于 Vue JSdemoVue[增删改查] 使用 Vue2.x LayUI 做后台管理 CRUD 界面和 REST 交互React [增删改查] 使用 React LayUI 做后台管理 CRUD 界面和 RESTful 交互Angular 使用 Angul…...

    2024/4/21 12:29:47
  11. 双眼皮线细

    ...

    2024/5/6 6:02:15
  12. 眼皮松弛凹陷可以做眼皮松弛适合什么眼皮松弛做全切双眼皮有用吗

    ...

    2024/4/21 12:29:45
  13. 双眼皮修复一个月后可以吗

    ...

    2024/4/20 16:25:32
  14. 双眼皮二十天可以洗头吗

    ...

    2024/5/2 17:28:17
  15. 双眼皮20天可以洗头吗

    ...

    2024/4/20 16:25:31
  16. 割双眼皮人家说我眼睛脂肪多

    ...

    2024/5/2 7:39:22
  17. 1个月内2次双眼皮7天注意事项

    ...

    2024/4/21 12:29:43
  18. 2016 年谷歌开源了超酷炫的项目

    开放源代码软件让 Google 能够无需重新发明轮子就能够快速有效地进行开发&#xff0c;也让我们能够集中注意力来解决新问题。我们知道&#xff0c;支持开源&#xff0c;就是站在了巨人的肩膀上&#xff0c;所以 Google 员工能够轻松地将他们在内部工作的项目作为开放源代码发布…...

    2024/4/21 12:29:42
  19. 直接拿来用!最火前端开源项目(二)

    摘要&#xff1a;如今开源项目的火热程度已无需再多言语&#xff0c;在&#xff08;一&#xff09;中为开发者整理了九大类的开源项目列表&#xff0c;开发者们&#xff0c;你们用的怎么样了&#xff1f;本文继续整理GitHub上最火的前端开源项目列表&#xff0c;列出十个分类&a…...

    2024/4/21 12:29:41
  20. GitHub 上那些值得你 Star 的开源项目

    “开源”作为 2018 年度热词之一&#xff0c;在这一年里围绕其发生了颇多“大事”&#xff0c;开源贡献者也语法活跃。本文分领域盘点了过去一年的开源项目 Top 榜&#xff0c;看看有没有你也在持续关注的优质内容&#xff1f; 如今&#xff0c;开源已成为软件世界的中坚力量—…...

    2024/4/21 12:29:41

最新文章

  1. Linux学习(一)-- 简单的认识

    目录 1. Linux的诞生 2.Linux发行版 拓展&#xff1a; &#xff08;1&#xff09;什么是Linux系统的内核&#xff1f; &#xff08;2&#xff09;什么是Linux系统发行版&#xff1f; 1. Linux的诞生 Linux创始人: 林纳斯 托瓦兹 Linux 诞生于1991年&#xff0c;作者上大学…...

    2024/5/7 2:29:30
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/6 9:38:23
  3. 自动化标准Makefile与lds

    makefile的自动化&#xff0c;需要使用变量&#xff0c;以及自动变量。 实行命令行与参数的分离。 命令行只与变量打交道&#xff0c;而变量则携带不同的参数&#xff0c;这样&#xff0c;通过修改变量&#xff0c;命令的执行结果不同。 可以简单理解为&#xff0c;命令行是个…...

    2024/5/5 0:49:43
  4. 技术与安全的交织

    引言 介绍数字化转型对企业出海策略的影响&#xff0c;强调在全球市场中成功的关键因素之一是有效利用网络技术&#xff0c;如SOCKS5代理、代理IP&#xff0c;以及确保网络安全。 第一部分&#xff1a;网络技术的基础 SOCKS5代理 定义和工作原理 SOCKS5代理与网络匿名性的关系…...

    2024/5/6 16:03:36
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

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

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

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

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

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

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

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

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

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/5/4 23:54:56
  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