郑州网站推广服务个人介绍html代码简单

bicheng/2026/1/21 5:10:21/文章来源:
郑州网站推广服务,个人介绍html代码简单,河南省建设集团有限公司网站,简单网页模板免费下载前端打包工具之Webpack5 什么是打包工具打包工具的作用常见的打包工具一、Webpack1、什么是[webpack](https://webpack.docschina.org/concepts/)2、webpack本身的功能是有限的3、webpack基本使用#xff1a;基于本身功能只解析JS资源4、webpack配置4.1、entry#xff08;入口… 前端打包工具之Webpack5 什么是打包工具打包工具的作用常见的打包工具一、Webpack1、什么是[webpack](https://webpack.docschina.org/concepts/)2、webpack本身的功能是有限的3、webpack基本使用基于本身功能只解析JS资源4、webpack配置4.1、entry入口指示webpack从哪个文件开始打包4.2、output出口指示webpack打包完的文件输出到哪里、如何命名4.3、loader [加载器](https://webpack.docschina.org/concepts/loaders)webpack本身只能处理js、json资源其他资源需要借助loader4.4、plugins ([插件](https://webpack.docschina.org/api/plugins)) 扩展webpack功能4.5、mode ([模式](https://webpack.docschina.org/configuration/mode)) 开发、生产模式4.6、browser compatibility (浏览器兼容性)4.7、environment (环境): Webpack 5 运行于 Node.js v10.13.0 的版本 5、webpack提升打包构建速度5.1、热更新只针对开发模式5.2、oneOf配置项5.3、exclude配置项或者include配置项5.4、ESLint、babel添加缓存5.5、启动多线程打包5.6、减少代码体积5.7、减少文件中的babel辅助代码引入5.8、压缩静态资源图片 6、webpack配置代码 什么是打包工具 将浏览器无法运行的高级语法代码如es6、scss编译成浏览器能识别的JS、CSS等语法。 打包工具的作用 语法编辑压缩代码兼容性处理代码性能优化… 常见的打包工具 ViteWebpackparcel 一、Webpack 1、什么是webpack webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。它会以一个或多个文件作为打包的入口将整个项目所有文件编译组合成一个或者多个文件bundles输出。 webpack 开箱即用可以无需使用任何配置文件。然而webpack 会假定项目的入口起点为 src/index.js然后会在 dist/main.js 输出结果并且在生产环境开启压缩和优化 2、webpack本身的功能是有限的 webpack本身的功能是有限的 开发模式 仅能编译JS中的ES Model语法生产模式编译JS中的ES Model语法还能压缩JS代码 即是webpack本身只能处理JS编译其他编译和处理需要进一步的配置 3、webpack基本使用基于本身功能只解析JS资源 初始化package.json $ npm init -y下载依赖 cli $ npm i webpack webpack-cli -Dwebpack从4.0版本开始在安装时就需要安装webpack和webpack-cli这两个东西。1、webpack是打包代码时的核心内容2、webpack-cli是一个用来在命令行中运行webpack的工具 xxx-cli的主要功能就是处理命令行参数(如果你想使用 npx 来运行 webpack请确保你已经安装了 webpack-cli)npm run build - 执行node_modules/webpack文件 - 执行webpack-cli文件 - 执行cli.run() - 处理命令行参数。 执行webpack打包 // 开发环境 $ npx webpack ./app.js --modedevelopment // 生产环境 $ npx webpack ./app.js --modeproductionnpx webpack: 运行本地安装的webpack包(npx: 用于快速执行本地或远程的npm包) ./app.js 打包入口文件 –modeXXX打包模式 以上步骤默认打包的是JS代码CSS等其他代码的处理需要另行配置 4、webpack配置 npx webpack init: 根据项目需求快速生产webpack配置 4.1、entry入口指示webpack从哪个文件开始打包 默认src/index.js 4.2、output出口指示webpack打包完的文件输出到哪里、如何命名 4.3、loader 加载器webpack本身只能处理js、json资源其他资源需要借助loader webpack 只能理解 JavaScript 和 JSON 文件这是 webpack 开箱可用的自带能力。loader 让 webpack 能够去处理其他类型的文件并将它们转换为有效 模块以供应用程序使用以及被添加到依赖图中。 loader 的两个属性 test 属性识别出哪些文件会被转换。use属性定义出在进行转换时应该使用哪个 loader。 const path require(path);module.exports {output: {filename: my-first-webpack.bundle.js,},module: {// 嘿webpack 编译器当你碰到「在 require()/import 语句中被解析为 .txt 的路径」时在你对它打包之前先 use(使用) raw-loader 转换一下rules: [{ test: /\.txt$/, use: raw-loader }],}, };4.4、plugins (插件) 扩展webpack功能 想要使用一个插件你只需要 require() 它然后把它添加到 plugins 数组中。多数插件可以通过选项(option)自定义。你也可以在一个配置文件中因为不同目的而多次使用同一个插件这时需要通过使用 new 操作符来创建一个插件实例 const HtmlWebpackPlugin require(html-webpack-plugin); const webpack require(webpack); // 用于访问内置插件module.exports {module: {rules: [{ test: /\.txt$/, use: raw-loader }],},plugins: [new HtmlWebpackPlugin({ template: ./src/index.html })], };4.5、mode (模式) 开发、生产模式 4.6、browser compatibility (浏览器兼容性) Webpack 支持所有符合 ES5 标准 的浏览器不支持 IE8 及以下版本。webpack 的 import() 和 require.ensure() 需要 Promise。如果你想要支持旧版本浏览器在使用这些表达式之前还需要 提前加载 polyfill。 4.7、environment (环境): Webpack 5 运行于 Node.js v10.13.0 的版本 5、webpack提升打包构建速度 5.1、热更新只针对开发模式 // 生产模式下不需要devServer devServer: {host: 0.0.0.0,port: 3000,compress: true,// 默认为true: 提升开发模式的打包构建速度// 默认只支持css热更新 js的需要加载相应loaderhot: true, // 开启HRM 热更新 },5.2、oneOf配置项 // 加载器 帮助webpack识别 本身不能识别的资源 module: {// loader的配置rules: {// 避免找到了loader 还会继续遍历后面的loaderoneOf: [// 处理css资源{},// 处理图片资源{},// 处理其他资源{},// 将高阶JS语法处理成IE等旧浏览器能识别的JS语法{test: /\.js$/,// 排除哪些不需要处理的文件exclude: /(node_modules|bower_components)/,// 只加载一个loader 可以直接使用loader替换useloader: babel-loader,// 可以直接在项目中 新建babel配置文件(babel.config.js) 方便配置扩展// options: {// presets: [babel/preset-env]// }}]} },5.3、exclude配置项或者include配置项 exclude、include不能同时使用 {test: /\.js$/,// 排除哪些不需要处理的文件exclude: /(node_modules|bower_components)/,// include: path.resolve(__dirname, ../src),// 只加载一个loader 可以直接使用loader替换useloader: babel-loader,// 可以直接在项目中 新建babel配置文件(babel.config.js) 方便配置扩展// options: {// presets: [babel/preset-env]// } }5.4、ESLint、babel添加缓存 babel添加缓存 // 将高阶JS语法处理成IE等旧浏览器能识别的JS语法 {test: /\.js$/,// 排除哪些不需要处理的文件exclude: /(node_modules|bower_components)/,// 只加载一个loader 可以直接使用loader替换useloader: babel-loader,options: {// 可以直接在项目中 新建babel配置文件(babel.config.js) 方便配置扩展// presets: [babel/preset-env]cacheDirectory: true, // 开启babel缓存cacheCompression: false // 关闭缓存文件压缩} }ESLint 添加缓存 // 插件 plugins: [// ESLint检验new ESLintPlugin({// eslint 只检测src下面的文件context: path.resolve(__dirname, ../src),exclude: node_modules, // 默认值 node_modulescache: true, // 开启缓存cacheLocation: path.resolve(__dirname, ../node_modules/.cache/eslintcache)}), ],5.5、启动多线程打包 获取cpu核数 const os require(os) // 获取cpu核数 const threads os.cpus().length;babel操作开启多线程 # 安装thread-loader $ npm install --save-dev thread-loader// 将高阶JS语法处理成IE等旧浏览器能识别的JS语法 {test: /\.js$/,// 排除哪些不需要处理的文件exclude: /(node_modules|bower_components)/,use: [{loader: thread-loader,options: {workers: threads, // babel: 进程数量}},{loader: babel-loader,options: {// 可以直接在项目中 新建babel配置文件(babel.config.js) 方便配置扩展// presets: [babel/preset-env]cacheDirectory: true, // 开启babel缓存cacheCompression: false // 关闭缓存文件压缩}}] }ESLint开启多进程 plugins: [// ESLint检验new ESLintPlugin({// eslint 只检测src下面的文件context: path.resolve(__dirname, ../src),exclude: node_modules, // 默认值 node_modulescache: true, // 开启缓存cacheLocation: path.resolve(__dirname, ../node_modules/.cache/eslintcache),threads // 开启多进程}), ],压缩js开启多进程 const TerserWebpackPlugin require(terser-webpack-plugin) optimization: {// 压缩的操作minimizer: [// 压缩jsnew TerserWebpackPlugin({// 开启多进程parallel: threads,}),], },5.6、减少代码体积 Tree Shaking: 移除JS中没有使用上的代码。 生产环境下已经默认开启了 5.7、减少文件中的babel辅助代码引入 {test: /\.js$/,// 排除哪些不需要处理的文件exclude: /(node_modules|bower_components)/,use: [{loader: thread-loader,options: {workers: threads, // babel: 进程数量}},{loader: babel-loader,options: {// 可以直接在项目中 新建babel配置文件(babel.config.js) 方便配置扩展// presets: [babel/preset-env]cacheDirectory: true, // 开启babel缓存cacheCompression: false, // 关闭缓存文件压缩plugins: [babel/plugin-transform-runtime] // 减少代码体积避免不必要的babel的辅助代码注入}}] }5.8、压缩静态资源图片 图片压缩 6、webpack配置代码 const path require(path) const os require(os) const ESLintPlugin require(eslint-webpack-plugin) const HtmlWebpackPlugin require(html-webpack-plugin) const MiniCssExtractPlugin require(mini-css-extract-plugin) const CssMinimizerPlugin require(css-minimizer-webpack-plugin) const nodeExternals require(webpack-node-externals) const TerserWebpackPlugin require(terser-webpack-plugin) // 获取cpu核数 const threads os.cpus().length; // 生产模式下进行项目优化 优化打包速度 优化运行性能module.exports {target: node, // ignore built-in modules like path, fs, etc.externals: [nodeExternals()], // 排除Node.js核心模块// 项目打包入口 相对路径entry: ./src/app.js,// 模式mode: production,// 包含行和列的映射 打包速度慢// 开发模式 cheap-module-source-mapdevtool: source-map, // 将编译后的代码映射回原始源代码// 打包出口 绝对路径output: {// __dirname: node变量 当前文件的文件夹目录path: path.resolve(__dirname, ../dist), // 打包后所有文件的输出路径filename: static/js/[name].js, // 入口文件打包后的输出路径// 给打包输出的其他文件命名 比如import动态导入的文件// 结合webpack 魔法命名 import(/* webpackChunkName: app */ ./src/app.js).then((){})chunkFilename: static/js/[name].chunk.js,// 图片、字体等通过type: asset 处理资源命名方式 替换掉generatorassetModuleFilename: static/media/[hash:10][ext][query],clean: true, // 自动清空path目录内容再进行打包publicPath: /assets/,},// 加载器 帮助webpack识别 本身不能识别的资源module: {// loader的配置rules: {// 避免找到了loader 还会继续遍历后面的loaderoneOf: [// 处理css资源{test: /\.s[ac]ss$/,// use的加载顺序 从右向左use: [// style-loader, // 将js中的css通过创建style标签添加到html文件中MiniCssExtractPlugin.loader, // 将css资源抽离成css文件 通过link引入避免了加载js的阻塞css-loader, // 将css资源编译成commonjs模块到js中// sass兼容处理// 需要在package 添加需要兼容到哪些浏览器// browserslist: [// last 2 version, // 所有的浏览器取最新的两个版本// 1%, // 覆盖99% 的浏览器// not dead// ]{loader: postcss-loader,options: {postcssOptions: {plugins: [[postcss-preset-env,{// 其他选项},],],},},},sass-loader // 将sass编译成css],},// 处理图片资源{// webpack5内置了处理图片的loadertest: /\.(png|jpe?g|gif|webp|svg)$/,type: asset,parser: {dataUrlCondition: {// 将小于10kb的图片打包成base64// 优点 较少请求数量// 缺点 图片体积变大所以一般都转的小体积的图片maxSize: 10 * 1024 // 10kb}},// 图片打包后的目录// generator: {// // hash:10 取hash前10个字符// filename: static/images/[hash:10][ext][query]// }},// 处理其他资源{test: /\.(ttf|woff2?|mp3|mp4|avi)$/,type: asset/resource, // 原样打包到dist中// generator: {// // hash:10 取hash前10个字符// filename: static/media/[hash:10][ext][query]// }},// 将高阶JS语法处理成IE等旧浏览器能识别的JS语法// babel-loader 不能处理async、promise等ES的语法 需要借助core-js// core-js 是专门做ES6以上API的polyfill补丁// 在babel.config.js// module.exports {// // 智能预设 能够编译ES6语法// presets: [// babel/preset-env,// {// useBuiltIns: usage, // 按需自动加载core-js对ES6的兼容性处理// corejs: 3 // core-js的版本号// }// ]// }{test: /\.js$/,// 排除哪些不需要处理的文件exclude: /(node_modules|bower_components)/,// include: path.resolve(__dirname, ../src),// 只加载一个loader 可以直接使用loader替换useuse: [{loader: thread-loader,options: {workers: threads, // babel: 进程数量}},{loader: babel-loader,options: {// 可以直接在项目中 新建babel配置文件(babel.config.js) 方便配置扩展// presets: [babel/preset-env]cacheDirectory: true, // 开启babel缓存cacheCompression: false, // 关闭缓存文件压缩plugins: [babel/plugin-transform-runtime] // 减少代码体积避免不必要的babel的辅助代码注入}}]}]}},// 插件plugins: [// ESLint检验new ESLintPlugin({// eslint 只检测src下面的文件context: path.resolve(__dirname, ../src),exclude: node_modules,threads}),// html文件自动引入依赖资源new HtmlWebpackPlugin({// 模板 以public/index.html 文件作为模板创建打包后新的html文件// 新的html文件特点1、结构和打包之前的一致 2、自动引入打包输出的资源template: path.resolve(__dirname, ../public/index.html)}),// 单独打包出css文件new MiniCssExtractPlugin({filename: static/css/[name].[contenthash:10].css,chunkFilename: static/css/[name].chunk.[contenthash:10].css}),],optimization: {// 压缩的操作minimizer: [// css压缩// 开启生产模式 html、js会自动压缩的new CssMinimizerPlugin(),// 压缩jsnew TerserWebpackPlugin({// 开启多进程parallel: threads,}),],// 代码分割配置splitChunks: {chunks: all},// 保证引用文件不变// 只变runtime和map里面的文件runtimeChunk: {name: (entrypoint) runtime-${entrypoint.name}.js}},// 开发服务器: 不会输出资源到dist中的 是在内存中进行编译打包的// src下的代码更改后自动打包/自动编译代码// 生产模式下不需要devServerdevServer: {host: 0.0.0.0,port: 3000,compress: true,// 默认为true: 提升开发模式的打包构建速度// 默认只支持css热更新 js的需要加载相应loaderhot: true, // 开启HRM 热更新}, }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88277.shtml

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

相关文章

国际网站空间企业网站优化分为两个方向

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 之前已经讲了如何地图中如何添加大量点到webgl图层优化大量点浏览器页面卡顿的问题。本章介绍补充一下叠加大量图片图标要素到地图的情况下的问题。 二、依赖和使用 "ol": "7.5.2"使用npm安装依…

芜湖哪里做网站wordpress主页最新文章显示

1.1DaemonSet是什么 Deployment部署的副本Pod会分布在各个Node上,每个Node都可能运行好几个副本。DaemonSet的不同之处在于:每个Node上最多只能运行⼀个副本。DaemonSet的典型应用场景有: (1)在集群的每个节点上运⾏存…

建筑网站大图哪个网站有高清图片做ppt

引言 串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数…

免费的网站关键词查询工具简易软件下载

739. 每日温度 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;使用单调栈遍历&#xff0c;循环找栈中比栈顶数小的就出栈&#xff0c;并且记录值。比栈顶数大的就入栈&#xff0c;形成单调递增的栈 class Solution { public:vector<int> dailyTemperatures(…

济南手机网站定制价格photoshop手机版安卓

以下是我起草的部门SVN规范里原则的一部分。文件提交时要求必须提交注释&#xff0c;注明相关修改信息&#xff0c;例如bug号、任务描述等。具体内容可采用约定或者设置的形式。你所提交的改变将体现给其他开发者&#xff0c;要明白提交的后果&#xff0c;提交之前要慎重。代码…

专业网站托管的公司aso搜索排名优化

代码和报告均为本人自己实现&#xff08;实验满分&#xff09;&#xff0c;只展示主要任务实验结果&#xff0c;如果需要详细的实验报告或者代码可以私聊博主&#xff0c;接实验技术指导1对1 实验要求布置请看http://t.csdnimg.cn/1sh7s 运行模型&#xff0c;测试模型在有 100%…

建网站赚钱吗毕设做网站类型

2023年12月10日&#xff0c;周日上午 如何生成Doxygen 风格的注释 在需要Doxygen 风格注释的函数上方输入 /**&#xff0c;然后按下 Enter 键。Qt Creator 将自动为你生成一个注释模板。 输入&#xff0c;Qt Creator会自动帮你补全Doxygen标签 不得不说&#xff0c;写了Doxyge…

网站维护的基本内容包括哪些国内设计网站公司网站

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua&#xff0c;在这里我会分享我的知识和经验。&#x…

怎么套网站如何做一个网站赚钱

1、管理员登录sonar 2、如图 一条规则配置一个&#xff0c;不要填写逗号或者分号分割的多个规则 转载于:https://www.cnblogs.com/shengulong/p/8324764.html

网络网站推广首荐乐云seo优化方案官网电子版

正题 题目大意 将nnn个数分为222个非空的集合&#xff0c;要求两个集合内数的乘积的gcdgcdgcd为111。求方案数 解题思路 拥有相同质因子的数一定要在同一组&#xff0c;枚举质因数然后将拥有的数都用并查集合并然后用联通块数量来求即可。 codecodecode #include<cstdio&…

中国正规官方网站有哪些电子商务网站建设可行性 分析

参考&#xff1a; https://zhuanlan.zhihu.com/p/259591644 主要就是降低transformer自注意力模块的复杂度 复杂度主要就是 Q K^T影响的&#xff0c;稀疏注意力就是在Q点乘K的转置这模块做文章 下列式一些sparse transformer稀疏注意力方法 a、transformer原始的 &#xff0…

昆山企业网站建设公司台州做微网站

文章目录 前言课程参考文章推荐阅读 前言 本文为斯坦福大学 CS229 机器学习课程学习笔记 本文主体部分转载自黄海广博士&#xff0c;文末已给出链接&#xff0c;大家有兴趣可以直接访问笔记首页&#xff0c;下载对应课程资料及作业代码 课程官网&#xff1a;CS229: Machine …

房产网站建设方案做衣服的网站推荐

一&#xff0c;docker安装配置 要在golang中使用Docker&#xff0c;需要先安装并配置好Docker。下面是基本的Docker安装和配置步骤&#xff1a; 下载并安装Docker 官方下载地址&#xff1a;https://docs.docker.com/get-docker/ 根据你的操作系统选择对应版本的Docker&…

做cpa项目用什么网站加强网站备案管理专项行动

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个有序数组nums&#xff0c;请你原地删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并在使用O(1)额…

建设网站主要有哪些技术外贸型网站制作

这题只需要注意一个点&#xff0c;就是所有二次函数的二次系数都是大于0的&#xff0c;这说明这是个下凸函数&#xff0c;而且最小值旁边都是单调的&#xff0c;对于求区间凸函数极值问题&#xff0c;套三分模板即可。 AC代码&#xff1a; #include<bits/stdc.h> usin…

慈溪建设网站一个专门做标题的网站

背景&#xff1a;基线扫描时&#xff0c;docker镜像中的tomcat在检查是否支持HTTPS等加密协议这一项上未通过。 思路&#xff1a;先通过JDK自带的keytool工具生成证书&#xff0c;再从tomcat的server.xml配置文件中增加配置。 我不确定不同版本的JDK生成的证书是否可以通用&a…

公司网站怎么做关键字临海做网站的公司

StarRocks 支持数据类型&#xff1a;数值类型、字符串类型、日期类型、半结构化类型、其他类型。您在建表时可以指定以下类型的列&#xff0c;向表中导入该类型的数据并查询数据。 5.1 数值类型 SMALLINT2 字节有符号整数&#xff0c;范围 [-32768, 32767] INT4 字节有符号整…

做网站空间放哪些文件夹.net怎么做网站

目录 1、理论 2、实践 3、注意事项 在CAN总线系统中&#xff0c;波特率的计算是一个关键步骤&#xff0c;它确保网络上的所有设备能够以相同的速率进行通信。 1、理论 波特率的计算涉及到几个关键参数&#xff0c;包括CAN控制器的时钟频率、分频因子、以及位时间的不同部分…

深圳市宝安区住房和建设局网站潍坊制作网站软件

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 在AI时代&#xff0c;项…

亲子游网站建设内容wordpress 最近访客 多说

随着时代的变迁&#xff0c;科技创新已成为推动制造业高质量发展的关键力量。森歌&#xff0c;作为厨电行业的佼佼者&#xff0c;始终坚守着对优质品质的承诺&#xff0c;并在品牌的科技化升级之路上不断迈进。 在制造业科技化的背景下&#xff0c;新型工业化、数字经济、制造…