当前位置: 首页 > news >正文

做企业网站 空间怎么买简述商务网站建设步骤

做企业网站 空间怎么买,简述商务网站建设步骤,铁岭网站建设,crm软件哪家好Webpack 构建流程详解 Webpack 是一种现代 JavaScript 应用程序的静态模块打包工具,其构建流程主要分为以下几个阶段: 1. 初始化阶段 在这一阶段,Webpack 加载配置文件 webpack.config.js 并解析其中的内容。它会读取所有的选项、入口文件…

Webpack 构建流程详解

Webpack 是一种现代 JavaScript 应用程序的静态模块打包工具,其构建流程主要分为以下几个阶段:

1. 初始化阶段

在这一阶段,Webpack 加载配置文件 webpack.config.js 并解析其中的内容。它会读取所有的选项、入口文件以及插件设置。

  • 示例代码
const path = require('path');module.exports = {entry: './src/index.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'bundle.js'},
};

此部分定义了项目的入口文件和输出路径。


2. 编译阶段

在此阶段,Webpack 开始遍历依赖树并加载相应的模块。对于每一个模块,Webpack 都会应用对应的 Loader 来对其进行预处理(如转码 ES6 到 ES5 或者将 SASS 转化为 CSS)。Loader 的作用是对单个文件进行转换。

  • 示例代码
module.exports = {module: {rules: [{test: /\.js$/,use: ['babel-loader'],exclude: /node_modules/}]}
};

这段代码展示了如何利用 Babel 将 .js 文件从 ES6 转换为兼容性更好的版本。


3. 打包阶段

当所有模块被编译完成后,Webpack 进入打包阶段,在该阶段中,它会对已编译好的资源进一步优化、分割或压缩。例如,可以通过配置来移除未使用的代码或者缩小文件体积。

  • 示例代码
const TerserPlugin = require('terser-webpack-plugin');module.exports = {optimization: {minimize: true,minimizer: [new TerserPlugin()]}
};

上述片段设置了使用 Terser 对最终产物进行最小化处理。


4. 输出阶段

最后一步就是将经过前面几个步骤处理后的资产写入磁盘上的目标位置。这通常意味着生成一个或多个 JS 文件以及其他可能的附属资源(比如样式表)。

  • 示例代码
output: {path: path.resolve(__dirname, 'build'),publicPath: '/assets/',filename: '[name].[contenthash].js'
}

这里指定了输出的具体细节,包括哈希值用于缓存控制。


综合实例展示完整的 Webpack 流程

下面给出了一套较为全面的例子,涵盖了以上提到的主要方面:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const TerserPlugin = require('terser-webpack-plugin');module.exports = {mode: 'production',entry: ['./src/js/app.js', './src/scss/style.scss'], // 多入口支持output: {path: path.resolve(__dirname, 'dist'),filename: 'main.[contenthash].js'},devtool: false,resolve: {extensions: ['.js', '.jsx']},module: {rules: [{test: /\.(sa|sc|c)ss$/, use: [MiniCssExtractPlugin.loader,'css-loader','sass-loader'],},{test: /\.m?js$/,exclude: /(node_modules)/,use: {loader: "babel-loader",options: {presets: ["@babel/preset-env"]}}}]},plugins: [new HtmlWebpackPlugin({template: './index.html'}),new MiniCssExtractPlugin(),],optimization: {splitChunks: {chunks: 'all'},minimizer: [new TerserPlugin()],}
};

此综合案例不仅实现了基本功能还加入了 HTML 自动生成、CSS 单独提取等功能,并且启用了生产模式下的代码分离与压缩策略。


在这里插入图片描述

http://www.dtcms.com/a/422951.html

相关文章:

  • 做火锅加盟哪个网站好主营商城网站建设
  • 网站维护怎么做wordpress主题无法预览
  • [吾爱大神原创] wx小程序自动解包工具界面版1.0.0
  • Datagrip连接Oracle23的一些异常记录
  • springboot+vue心理健康服务小程序(源码+文档+调试+基础修改+答疑)
  • flink api-datastream api-source算子
  • 基于数据挖掘的在线游戏行为分析预测系统
  • 无极领域付费网站做外贸要访问国外的网站怎么办
  • 本地项目上传到Git仓库
  • 首批CCF教学案例大赛资源上线:涵盖控制仿真、算法与机器人等9大方向
  • Java外功精要(2)——Spring IoCDI
  • Git简单理解
  • 机器人的“神经网络”:以太网技术如何重塑机器人内部通信?【技术类】
  • k8s-pod的资源限制
  • 【附源码】基于Vue的网上约课系统的设计与实现
  • 元宇宙的操作系统:虚拟世界的管理平台
  • 软考 系统架构设计师系列知识点之杂项集萃(161)
  • Python爬虫实战:获取中国检察网公开的案件信息与数据分析
  • 北大软件数字统战解决方案:用智能化技术破解基层治理难题、提升政务服务效能
  • Vue三元表达式
  • 吉林做网站公司wordpress手机仪表盘
  • seo案例网站建设哪家好WordPress用户名怎么泄露的
  • 狄利克雷先验:贝叶斯分析中的多面手与它的学术传承
  • 第三章、信息系统治理
  • 欧姆龙 CP1H PLC借助以太网通讯处理器实现在检测生产线上的应用案例
  • 【C++】继承:菱形继承
  • 【Rust GUI开发入门】编写一个本地音乐播放器(4. 绘制按钮组件)
  • Django小说个性化推荐系统 双算法(基于用户+物品) 评论收藏 书架管理 协同过滤推荐算法(源码+文档)✅
  • 微调数据格式详解:适配任务、模型与生态的最佳实践
  • 黑帽seo是什么做模板网站乐云seo效果好