
在 *** 开发领域, 是动态、交互式和 *** 应用程序背后的动力源泉。然而,随着现代 *** 应用程序复杂性的增加,、框架和依赖关系的数量也在增加。这会导致代码库臃肿、效率低下,影响性能和用户体验。
为了应对这一挑战,JavaScript 打包程序应运而生!这些优化向导专门负责完善代码和提高性能。向 JavaScript 打包程序领域的三位重量级人物问好: Rollup、Webpack 和 Parcel – 开发者世界的明星。
本文将全面介绍这些 *** 打包程序,深入探讨它们的优势、独特性和突出功能,同时阐明它们的优点和局限性。
在构建 *** 应用程序时,事情可能会变得相当复杂。为了保持一切井井有条和可维护性,应用程序被分成多个文件。
但问题是:加载多个独立文件会降低应用程序的运行速度。这不仅是因为浏览器需要多次请求才能为网页获取这些文件,还因为浏览器可能会从这些文件中加载和处理不必要的代码。
打包程序通过分析应用程序的依赖关系,生成包含所有必要代码的单一文件,从而帮助解决这一问题。简单地说,JavaScript 打包程序是一种将多个 JavaScript 文件及其依赖关系合并为一个文件(通常称为打包文件)的工具。
有了 JavaScript 打包程序,我们就能实现将下列代码:
<head> <script type="text/javascript" src="/navbar.js"></script> <script type="text/javascript" src="/sidebar.js"></script> <script type="text/javascript" src="/some-modal.js"></script> <script type="text/javascript" src="/footer.js"></script> </head>
转为:
<head> <script type="text/javascript" src="/compressed-bundle.js"></script> </head>
JavaScript 打包程序不仅限于 JavaScript 代码。它们还可以打包其他资产,如 CSS 文件和图片。它们还可以进行优化,如、树状结构和代码拆分。
说到这里,您可能想知道是否应该在所有项目中使用 JavaScript 打包程序。要回答这个问题,我们先来了解一下打包程序的重要性。
在当今瞬息万变的 *** 开发世界中,JavaScript 模块打包程序已成为至关重要的盟友。它们能处理管理依赖关系和组合 JavaScript 文件的棘手任务–有点像解谜。
过去,开发人员习惯于直接在 HTML 中嵌入 <script /> 标记,或在 中链接多个文件。但随着 *** 的发展,情况变得越来越复杂。由于,旧技术导致网页加载缓慢,而且代码重复,开发人员需要在不同的 *** 浏览器上运行。
这就是 JavaScript 模块打包程序发挥作用的地方。它们彻底改变了我们使用 JavaScript 的方式。虽然 *** 浏览器现在支持 ES 模块, 等技术也解决了请求开销的问题,但 JavaScript 打包程序仍然必不可少。
JavaScript 打包工具不仅仅是时髦的实用工具,它们还是 *** 开发效率的缔造者。这些工具不仅能更大限度地减少请求开销,还能增强代码结构、提高性能并简化开发工作流程。
从本质上讲,它们就像导体一样,和谐地组织代码,加快开发速度,并确保在各种情况下都能顺利运行。
随着 *** 技术的不断发展,打包程序也在不断调整,并在创造非凡 *** 体验的过程中发挥着不可或缺的作用。但请记住,这并不是因为新工具的出现而使用它们。打包工具在现代 *** 开发中发挥着坚实的作用,是良好编码实践的基础。
在开始探索技术层面之前,让我们先回顾一下 JavaScript 打包程序的历史。
在 *** 开发的早期,管理 HTML 文件中的脚本标记是一个既费力又容易出错的过程。因此,之一批 JavaScript 打包程序应运而生,它可以自动加载和执行 JavaScript 文件。
之一代打包程序(如 )大约在 2010 年推出。这些打包程序引入了异步模块加载的概念,允许开发人员按照需要的顺序加载 JavaScript 文件,而不必一次性加载所有文件。这减少了初始页面加载时的 HTTP 请求次数,从而提高了性能。
和 等第二代打包程序大约在 2011-2012 年间推出。这些打包程序比之一代打包程序更强大,不仅可以用来打包 JavaScript 文件,还可以打包 CSS 和图片等其他资产。这使得创建更高效、性能更强的 *** 应用程序成为可能。
随着时间的推移,和模块化编程的普及,第三代打包程序应运而生。(2014 年)侧重于优化库和包的打包,而 (2017 年)则强调零配置设置和闪电般快速的开发工作流程。
近年来,、、 和 Angular 等基于组件的 UI 的兴起也影响了打包程序的发展。 和 等工具抽象了复杂的配置,使项目更容易设置更佳打包策略。
如今,JavaScript 打包程序已成为 *** 开发工具包的重要组成部分。开发人员使用它们来优化的性能、可维护性和可移植性。随着 JavaScript 的不断发展,打包程序将继续在帮助开发人员创建高效、高性能的 *** 应用程序方面发挥重要作用。

JavaScript 打包
目前有多种 JavaScript 打包程序可供选择,虽然它们提供的功能各不相同,但一般都遵循类似的工作流程。为了更好地了解这些打包程序的内部工作原理,我们将把整个过程分成几个较小的连续步骤:
要启动 JavaScript 打包程序,打包程序的首要任务是确定应打包的文件。作为开发人员,您可以通过指出项目中的一个或多个主文件来明确这一点。这些主文件通常包含基本的 JavaScript 代码,这些代码依赖于称为模块或依赖项的较小部分。
// main.js
Import { scream } from './Module1'; // returns string ‘scream’
import { shout } from './Module2'; // returns string ‘shout’
import { letItAllOut } from './Module3'; // returns string ‘let it all out’
// Log 'Black Eyed Peas - Scream & Shout' lyrics
console.log(`I wanna ${scream} and ${shout} and ${letItAllOut}`);
console.log("We sayin' oh we oh, we oh, we oh");
在这段代码中,我们的主模块(main.js)导入了其他三个模块,称为依赖关系。值得注意的是,每个模块都可能有自己的依赖关系。解决这些嵌套的依赖关系就进入了下一步。
依赖关系解决步骤紧随最初的输入收集步骤之后,也是真正神奇的地方。输入收集的重点是识别项目中的主要入口点,而依赖解析则是彻底扫描这些入口文件中的代码,以发现导入或所需的 JavaScript 模块。这项侦查工作包括跟踪 import() 和 require() 路径。
把它想象成组装拼图–每一块拼在一起,在这一步中,JavaScript 打包程序会收集信息,以了解所有这些拼图是如何相互连接的。

依赖关系解析 – 理解模块和依赖关系之间的关系
现代 JavaScript 打包程序在依赖关系解析过程中利用了静态分析和树状结构等先进技术。静态分析可在不执行代码的情况下解析代码,加快依赖性检测并缩短打包时间。树状结构消除了未使用的代码,确保最终的打包程序保持精简。
此外,打包器还会创建一个可视化图形,表示依赖关系树。这不仅能展示模块关系,还能进行优化。打包程序可以对模块进行重新排序,以加快加载速度,并协助解决循环依赖问题,确保代码无缺陷、高性能。
打包程序在将 JavaScript 代码组装成打包包之前,可能会对其进行若干转换。这些转换包括:
虽然 JavaScript 打包程序以打包 JavaScript 代码而闻名,但它们也可以通过称为资产打包的过程打包其他资产(图片和 CSS 文件)。
但需要注意的是,并非所有打包程序都内置了这一功能。对于某些打包程序,实现资产打包可能需要额外的设置,包括插件、加载器和配置调整。
以下是支持资产打包时的工作原理:
const logo = '/assets/kinsta-logo.png' 。这一过程可确保图片和 CSS 等资产有效地包含在打包包中,并与 JavaScript 代码一起提供。
整理好所有依赖关系并对代码进行必要的调整后,打包程序就开始了主要工作-打包。它将所有相关的 JavaScript 文件合并到一个大文件中。这样就能确保这些文件相互依赖的顺序得以保持,从而确保所有功能都能正常运行。

打包模块和依赖关系
最后一个打包过程是创建打包后的 JavaScript 文件,它是整个过程的最终结果。该文件包含来自入口点的所有代码及其相互关联的依赖项,将它们合并为一个具有凝聚力的实体。通常,这个打包文件会有一个唯一的名称,并存储在指定的位置。
现代的打包程序通常会有额外的技巧,以增强 JavaScript 在网页上的加载方式。其中一项功能就是,即巧妙地将打包包分割成小块,只有在需要时才提取。这种策略性 *** 缩短了初始加载时间,带来了更流畅、更高效的用户体验。
总之,JavaScript 打包程序的工作原理是汇总所有必要的 JavaScript 文件,解决它们之间的依赖关系,对代码进行增强,然后将它们混合成一个单一的优化打包程序。然后将该打包包集成到网页中,从而加快加载速度,改善用户体验。

Rollup、Webpack 和 Parcel 在 Google Trends 上的对比。
Rollup、Webpack 和 Parcel 等工具在不断扩大的现代 *** 开发领域中占据着中心位置,在这一领域中,对高效资产管理和优化打包的要求至关重要。
是 JavaScript 的模块打包程序,它能将小型代码组件编译成一个较大的项目,如库或应用程序。它由 于 2015 年创建,旨在解决 JavaScript 应用程序开发日益复杂的问题。
当时,开发人员正苦于如何有效打包 JavaScript 应用程序和库的不同部分,这对于优化性能和确保不同浏览器之间的兼容性至关重要。传统的打包工具依赖于 Common *** 和 AMD 等 *** ,随着 *** 应用程序变得越来越复杂,这些 *** 往往会导致速度变慢和混乱。
将项目通常可以简化流程,减少意外问题,并使问题的解决变得更容易。但是,传统的 JavaScript 无法做到这一点。
后来,ES6 的出现改变了 JavaScript 的游戏规则。它引入了导入和导出函数和数据的语法,以方便在独立的 JavaScript 文件之间共享。虽然该功能已经建立,但在 Node.js 中仍未实现,而且仅在现代浏览器中可用。
Rollup 决定改变现状。它采用了新的 ,使代码的组合更加简洁流畅。这让开发人员有能力混合和匹配来自不同库的代码。
此外,开发人员还可以使用新模块系统编写代码,同时将其无缝编译成现有的支持格式,如 Common *** 模块、AMD 模块和 IIFE 式脚本。从本质上讲,在获得和浏览器兼容性优势的同时,您还获得了编写可扩展代码的能力。
随着时间的推移,Rollup 在不断发展和适应。无论您是在开发小型库还是大型应用程序,Rollup 都能帮助您实现目标。
使用 Rollup 的优势
虽然 Rollup 有一些很好的优点,但在选择打包工具时,还应该评估项目的独特要求、团队对工具的使用经验以及可能影响开发工作流程的其他方面。
以下是 Rollup 的一些主要优点:
使用 Rollup 的缺点
是 *** 开发世界中的一个重要工具。Webpack 诞生于 2012 年,当时 *** 开发正在不断发展,新的挑战层出不穷,尤其是在高效管理现代 *** 应用的资产方面。
在当时,创建单页面应用程序并有效处理 JavaScript 文件、样式表和图像等 *** 资产是一项挑战。现有的工具缺乏处理复杂工作流程所需的灵活性和可扩展性,这导致了 Webpack 的诞生。
Webpack 引入了一种使用模块组织代码的新 *** 。将这些模块想象成网站的乐高积木。与其他工具不同,Webpack 可以轻松地将这些积木无缝组装起来。
它将代码转化为浏览器可以快速理解的语言,从而加快了网站的加载速度,带来更流畅的用户体验。但它并没有止步于此。Webpack 的真正优势在于其适应性。它允许开发人员根据自己的具体需求定制项目,从简单的任务到复杂的工作。可以把它想象成项目的 “自建冒险”。从简单的任务到复杂的任务,你都可以按照自己的喜好进行设置。
对于追求定制化和灵活性的 *** 开发人员来说,Webpack 是值得信赖的选择。
使用 Webpack 的优势
以下是 Webpack 在现代 *** 开发中的一些主要优势。
使用 Webpack 的缺点
于 2017 年发布,是一个,旨在简化与传统打包程序相关的复杂性。它倡导零配置 *** ,将开发人员从复杂的初始项目设置中解放出来。
传统的打包工具通常需要大量配置,导致开发人员的设置过程非常繁琐。但有了 Parcel,开发人员就可以直接进入项目,而不必被设置任务所淹没。从资产管理到模块打包,它能自动完成大部分任务,使开发工作更加顺畅。
Parcel 的突出特点是原生支持各种资产类型,包括 HTML、CSS、JavaScript 以及图像和字体等专用资产。它能将这些资产无缝集成到项目中,无需进行大量设置,从而简化了开发流程。
尽管 Parcel 是一款新产品,但它还是吸引了寻求轻松打包体验的开发人员。它既简单又不影响性能,为构建工具世界带来了一股新鲜空气。
使用 Parcel 的优势
使用 Parcel 的缺点
是时候在聚光灯下分析这三种打包程序的性能了。我们将对每个打包程序进行测试,观察它们在构建时间、打包程序大小和整体优化方面的表现。
构建 Vue 3 组件库是促进不同项目间代码重用和可维护性的实用 *** 。在本节中,我们将引导您完成创建 Vue 3 组件库的过程,然后将其与三个著名的打包程序整合: Rollup、Webpack 和 Parcel。
Vue 3 组件库设置
首先,我们将为项目创建一个新目录并导航到该目录。
mkdir kinsta-component-library cd kinsta-component-library
使用 Vue CLI 初始化新的 Vue.js 项目。如果尚未安装 Vue CLI,可使用以下命令进行安装:
npm install -g @vue/cli
然后,我们可以创建一个新的 Vue 项目:
vue create .
按照提示选择默认预设或根据需要手动选择功能。项目创建完成后,导航至项目目录并探索其结构。如果你是 Vue 的新手,这里有 供你入门。
接下来,导航到 src/components 目录,你会发现已经创建了一个 HelloWorld.vue 文件。复制这个组件三次,更改每个文件的名称,然后将它们移到名为 Greeting 的文件夹中,这样我们的组件库就可以有多个组件了。文件夹结构如下
- src - components - Greetings - HelloWorld.vue - HelloWorldTwo.vue - HelloWorldThree.vue - HelloWorldFour.vue
最后,在 Greeting 文件夹中创建一个 greetings.js 文件,并导出所有组件:
export { default as HelloWorld } from "./HelloWorld.vue";
export { default as HelloWorldTwo } from "./HelloWorldTwo.vue";
export { default as HelloWorldThree } from "./HelloWorldThree.vue";
export { default as HelloWorldFour } from "./HelloWorldFour.vue";
现在,您的 Vue.js 项目已经就绪,让我们深入了解打包程序的世界,观察 Rollup、Webpack 和 Parcel 在实际应用中的表现。
Rollup:打包 Vue 3 组件库
首先将 Rollup 安装为开发依赖项:
npm install rollup rollup-plugin-vue rollup-plugin-css-only @rollup/plugin-image --save-dev
接下来,在项目根目录下创建一个 rollup.config.js 文件,以便根据需要配置 Rollup:
import vue from "rollup-plugin-vue";
import css from "rollup-plugin-css-only";
import image from "@rollup/plugin-image";
export default {
input: "src/components/Greeting/greetings.js",
output: {
file: "dist/bundle.js",
format: "e *** ",
},
plugins: [css(), vue({ css: false }), image()],
external: ["vue"],
};
在上述示例中,使用了三种不同的插件,以确保 Rollup 能够理解并打包不同类型的资产:
设置完成后,执行 Rollup 生成过程:
npx rollup -c
Webpack: 打包 Vue 3 组件库
要将您的库与 Webpack 集成,首先要安装所需的依赖项:
npm install css-loader vue-style-loader webpack webpack-cli --save-dev
在项目根目录下创建 webpack.config.js 文件并配置 Webpack。下面是一个例子:
const path = require("path");
const { VueLoaderPlugin } = require("vue-loader");
module.exports = {
mode: "development",
entry: "./src/components/Greeting/greetings.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "my-library.js",
library: "MyLibrary",
libraryTarget: "umd",
umdNamedDefine: true,
},
module: {
rules: [
{
test: /.vue$/,
loader: "vue-loader",
},
{
test: /.css$/,
use: ["vue-style-loader", "css-loader"],
},
],
},
plugins: [new VueLoaderPlugin()],
resolve: {
alias: {
vue$: "vue/dist/vue.e *** -bundler.js",
},
},
};
在上面的代码中,使用了三种不同的插件和加载器:
import/require() 一样解释 @import 和 url() ,并对其进行解析。我们还必须使用 path.resolve() 将路径解析为绝对路径。
执行 Webpack 打包过程:
npx webpack --config webpack.config.js
Parcel: 打包 Vue 3 组件库
最后,让我们来探索以零配置 *** 著称的 Parcel。首先将 Parcel 安装为开发依赖项:
npm install --save-dev parcel
在 package.json 文件中,更新必要的行以显示源文件和模块文件:
"source": "src/components/Greeting/greetings.js", "module": "dist/main.js"
调整构建脚本以使用 Parcel:
"build": "parcel build"
现在,Parcel 会自动检测项目所需的所有插件和加载器,并为您安装,然后继续打包过程。运行构建脚本,体验 Parcel 简单易用的打包过程:
npm run build
总结:配置和易用性比较
现在,我们已经将每个打包程序与 Vue 集成在一起,构建了一个组件库,让我们来提取一些观察结果:
值得注意的是,Rollup 还为配置文件中的 import() 和 export() 提供了节点多填充功能,而 Webpack 却缺乏这些功能。此外,Rollup 接受相对路径,而 Webpack 则不接受,因此需要使用 path.resolve() 等其他 *** 。
在这次基准比较中,我们评估了三种打包程序的性能。这些测试是在配备了 Apple M1 芯片和 8 核 GPU、8GB 内存的 MacBook Air 上进行的,重点测试了包含 10 个组件的 Vue 3 组件库。请注意,实际结果会因项目的复杂性和配置而异。
构建时间
| Rollup [Latest] (ms) | Webpack [Latest] (ms) | Parcel [Latest] (ms) | |
| Dev first build | 350 | 700 | 500 |
| Dev reload | 50 | 25 | 40 |
打包尺寸
| Rollup [Latest] (KB) | Webpack [Latest] (KB) | Parcel [Latest] (KB) | |
| Bundle Size | 90 | 140 | 110 |
衡量开发者社区对不同构建工具的偏好的一种有见地的 *** 是查看流行度指标。我们使用 网站对 Rollup、Webpack 和 Parcel 进行了比较。

Rollup vs Webpack vs Parcel 下载量比较
根据 npm 软件包的下载量,上图描绘了这些工具的受欢迎程度。让我们使用 网站来看看 Github 星级之间的比较:

Rollup vs Webpack vs Parcel Github 星级比较
Rollup 擅长减少打包包的大小并提高性能,因此深受库和小型项目的欢迎。Webpack 是一款广受认可、文档丰富的工具,以处理各种文件类型的多功能性和强大的社区支持而著称。另一方面,Parcel 以其简单性和快速设置脱颖而出,是小型项目和快速原型的理想选择。
请记住,随着时间的推移,这些工具的受欢迎程度会随着开发趋势的变化和新工具解决方案的出现而变化。在决定将哪种构建工具纳入自己的项目时,密切关注社区的动向可以帮助你选择正确的方向。
Rollup 以简洁为先,强调以最少的配置高效创建打包包,因此非常适合寻求直接设置的开发人员。另一方面,Webpack 拥有庞大的插件和加载器生态系统,可为复杂的项目提供高度定制化,但也可能带来学习曲线,尤其是对新手而言。
相比之下,Parcel 兑现了零配置的承诺,减少了设置时间和复杂性,是快速原型开发和小型项目的有力选择。
Webpack 拥有一个庞大而成熟的生态系统。其庞大的社区带来了数不胜数的资源、教程和。这个生态系统可以满足不同项目规模和复杂程度的开发人员的需求。
Rollup 的生态系统虽然比 Webpack 的小,但却充满活力并在稳步发展。它尤其吸引以性能优化和最小配置为目标的开发人员。它还拥有,可帮助开发人员简化工作流程。
Parcel 的社区围绕着对初学者友好的 *** 展开。它的生态系统为小型项目提供快速解决方案和支持,简化了新开发人员的入职流程。它没有太多由社区创建的插件,但可以让开发人员自定义工具的。
让我们回顾一下关于 Rollup、Webpack 和 Parcel 的知识,帮助您做出明智的选择。
| 对比项 | Rollup | Webpack | Parcel |
| 配置复杂性 | 适中:同时支持配置文件和程序配置 | 高:需要复杂的配置文件 | 低:零配置设置,可选配置 |
| 资产处理 | 需要为资产安装插件 | 资产需要加载器和插件 | 内置支持常见资产类型,只需极少设置 |
| Tree Shaking | tree-shaking能力最强,通常更高效 | 支持,但可能需要仔细配置 | 与 Webpack 相比,已提供支持并进行了简化 |
| ES6 模块侧重点 | 是的,围绕 ES6 模块设计。 | 是,支持 ES6 模块 | 是,支持 ES6 模块和多种语言 |
| 代码分割 | 支持通过配置分割代码 | 对代码分割的广泛控制 | 只需少量设置即可自动分割代码 |
| HMR(热模块更换) | 有限支持 | 支持 | 支持内置开发服务器 |
| 性能优化 | 用于优化的插件系统 | 广泛的优化插件生态系统 | 自动优化 |
| 社区和生态系统 | 社区规模较小,但在不断扩大 | 庞大而活跃的社区 | 发展社区,注重简约 |
| 输出格式 | 灵活的输出格式选项 | 灵活的输出格式选项 | 适用于不同环境的多种输出格式 |
| 库与应用的侧重点 | 常被用于建造库 | 适用于库和应用程序 | 应用和原型设计能力强 |
| 开发服务器 | 需要对 HMR 进行额外设置 | 需要为 HMR 进行额外设置 | 带 HMR 的内置开发服务器 |
| 软件包管理器集成 | 与 npm 和 Yarn 集成 | 与 npm 和其他系统配合良好 | 与常用软件包管理器集成 |
虽然 Rollup、Webpack 和 Parcel 一直是打包游戏的传统玩家,但像 这样的新竞争者正在崛起。
Vite(发音类似于 “veet“)因其对构建流程的创新和对更快开发工作流程的承诺,在 *** 开发者中迅速获得了关注。
Vite 采用了一种根本不同的打包 *** 。Vite 并不预先打包所有代码和资产,而是采用按需打包的方式。它利用现代浏览器中的本地 ES 模块直接提供代码,避免了开发过程中耗时的打包步骤。
这使得热模块替换(HMR)几乎立竿见影,大大缩短了开发过程中的冷启动时间。
虽然 Vite 的开发服务器采用了按需 *** ,但仍能提供优化的生产构建。它通过使用 Rollup 进行生产打包来实现这一目标,并利用了同样经过实战检验的打包功能,这也是 Rollup 广受欢迎的原因。
重要的是,Vite 的影响力并不局限于几个小型框架,它甚至涉及到 *** 开发领域更受欢迎的公司。例如:
Vite 是否适合您的项目取决于您的具体使用情况。如果开发速度、HMR 性能和简化的开发体验是更优先考虑的因素,那么 Vite 可能非常适合。但是,对于具有复杂构建要求的复杂项目,或者对于向后兼容性至关重要的项目,必须仔细评估 Vite 的独特 *** 是否符合您的需求。
显然,在 Rollup、Webpack 和 Parcel 之间做出选择取决于项目的需求。这三个选项各有所长。掌握了这些知识,你就能为你的 *** 冒险做出正确的选择。请记住,正确的打包工具就像一个值得信赖的编码伙伴,帮助您实现编码目标。
本章节主要是对宝塔面板的主界面的各个版本进行一个简单的说明。 宝塔面板主界面主要包括:服务器操作系统、服务器状态、站点信息、软件管理及网络流量几个部分。 Windows面板有部分功能未实现,其余部分与Linux面板同步。 系统操作...
宝塔面板中的网站管理是非常重要的一部分,也是站长经常需要使用到的功能模块。网站管理,主要用于管理和创建WEB站点。如果您是宝塔面板的使用用户,应该对此模块有充分的了解,以便于您更高效地管理网站。 宝塔面板网站管理模块包括:添加新网站、修改默认页、设置默认站点、站点列表、站点的运行与停止、备份站点、...
宝塔面板另外一个特质是,你无需通过Linux命令行来查看服务器各项指标状况,即可以阿里云服务器类似的可视化图表,查看资源使用、负载、CPU占用及内容使用百分比等指标。 默认监控是关闭,有需要的,可以开启,监控数据默认保存30天,可以自行修改,默认监控数据保存在日志,可手动清理该日志。 监控管理,...
宝塔面板设置主要涉及的是宝塔控制后台自身的参数,包括诸如面板的开关、自动更新及SSL、面板端口设置等。虽然这部分不涉及服务器自身的管理,但对宝塔面板的设置也有其重要。 特别是面板端口、安全入口及面板密码等涉及安全的参数设置。 启动和关闭面板 如果你长时间无需使用到宝塔面板,可以考虑...
宝塔面板的计划任务,主要用于安排和管理需要定时执行的任务,如备份、内存清理等。其实对于大部分站长来说,主要使用该板块的备份网站、备份数据库及释放内存的三个定时任务计划。 Shell脚本的添加 输入任务名称,选择执行周期,输入执行的脚本内容。 注意事项: 输入脚本内容...
JavaScript是世界上最流行的编程语言之一。今天,它为数百万个网站提供支持,并吸引了成群的开发人员和设计人员为Web构建功能。如果您是编程新手,那么 JavaScript很容易成为之一。 在最初的20年里,JavaScript主要用于客户端脚本。由于JavaScript只能在<scr...