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

如何建立本地网站wordpress加背景音乐

如何建立本地网站,wordpress加背景音乐,企业为什么要纳税,网站开发 项目职责目录 一、webpack中loader和plugin的区别1. Loader(每个 Loader 是一个函数或对象)2.plugin(每个 Plugin 是一个实例)3.自定义loader和plugin 二、Babel的功能三、Plugin中的compiler和compilation对象1. compiler对象2. compilat…

目录

  • 一、webpack中loader和plugin的区别
    • 1. Loader(每个 Loader 是一个函数或对象)
    • 2.plugin(每个 Plugin 是一个实例)
    • 3.自定义loader和plugin
  • 二、Babel的功能
  • 三、Plugin中的compiler和compilation对象
    • 1. compiler对象
    • 2. compilation对象

一、webpack中loader和plugin的区别

1. Loader(每个 Loader 是一个函数或对象)

  • 功能:文件转换 --> 将源文件转换为webpack可以处理的模块
  • 处理单位:单个文件(.js,.css,.png)
  • 执行顺序:链式调用,按配置顺序依次执行(源文件 -> Loader1 -> Loader2 -> … -> Webpack可用模块)
// webpack.config.js
module: {rules: [{test: /\.css$/,use: [ // 执行顺序从后到前'style-loader',  // 将CSS注入DOM'css-loader',    // 解析CSS中的@import和url(),支持css modules'postcss-loader' // 添加浏览器前缀]}]
}
  • 常用Loader
    代码转换:Babel(.js),TypeScript(.ts)
    样式处理:css-loader,sass-loader,postcss-loader
    文件处理:file-loader,url-loader(小图转为Base64),svg-loader
    模版编译:pug-loader,handlebard-loader

2.plugin(每个 Plugin 是一个实例)

  • 功能:扩展功能 --> 在Webpack构建流程的特定阶段执行自定义逻辑
  • 处理单位:整个构建过程(如打包完成后生成HTML文件)
  • 执行顺序:基于事件钩子,可在特定阶段多次触发(Webpack启动 -> 触发各种事件钩子 -> Plugin监听特定钩子并执行逻辑)
// webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');plugins: [new HtmlWebpackPlugin({template: './src/index.html' // 基于模板生成HTML})
]
  • 常用Plugins
    CleanWebpackPlugin(),// 每次构建前清空dist目录
    MiniCssExtractPlugin(), // 提取CSS到单独文件,通常生产环境中,替代style-loader
    TerserPlugin(), // 压缩JS
    HtmlWebpackPlugin(), // 生成 HTML

3.自定义loader和plugin

  1. 极简的loader
module.exports = function(source) {// source: 输入的文件内容(字符串或Buffer)// 获取loader配置参数,this.getOptions 是 Webpack 提供的标准化参数获取方式const options = this.getOptions() || {};// 处理逻辑...return source; // 返回处理后的内容
};
  1. 极简的plugin
class MyPlugin {constructor(options) {this.options = options; // 接收配置参数}apply(compiler) { // compiler见下// 注册钩子监听编译过程compiler.hooks.someHook.tap('MyPlugin', (compilation) => { // compilation见下// 处理逻辑...});}
}module.exports = MyPlugin;

二、Babel的功能

一句话概括:Babel的功能是JavaScript代码转换

  • 可处理:ES6+语法转为ES5兼容形式、API补全(Promise,Array.includes)、适配不同浏览器|node版本等
  • Babel 的核心是插件系统,每个转换功能由独立插件实现
// babel.config.js
module.exports = {plugins: ["@babel/plugin-transform-arrow-functions", // 转换箭头函数"@babel/plugin-transform-classes", // 转换 class 语法"@babel/plugin-proposal-object-rest-spread" // 转换展开运算符]
};
  • Presets(预设):预设是一组插件的集合,避免手动配置大量插件
// babel.config.js
module.exports = {presets: ["@babel/preset-env", // 智能转换 ES6+ 代码"@babel/preset-react", // 转换 JSX"@babel/preset-typescript" // 转换 TypeScript]
};
  • Babel 的工作流程:解析代码 → 转换 AST → 生成新代码。
  • Babel常和webpack协作,通过babel-loader作为桥梁
// webpack.config.js
module.exports = {module: {rules: [{test: /\.js$/,use: {loader: 'babel-loader', // 调用Babel编译JS文件options: {presets: ['@babel/preset-env']}}}]}
};

三、Plugin中的compiler和compilation对象

1. compiler对象

全局单例,代表整个webpack编译过程,包含所有配置信息,监听编译全过程(compile、emit、done)

  • compile:当 Webpack 开始新的一轮编译时触发(在读取配置后,真正编译前) —> 获取编译配置、修改默认行为
  • emit:在文件输出到磁盘前触发(所有模块已编译,资源已生成)。 —> 修改输出资源(如重命名文件、添加额外内容)。
  • done:整个编译过程完成时触发(文件已写入磁盘)。 —> 执行编译后的操作(如通知构建完成、生成报告)。

2. compilation对象

每次构建创建,代表一次具体的编译过程,包含当前构建的所有模块、资源和依赖关系,可修改、添加或删除构建产物


文章转载自:

http://lIyN9X45.skdhm.cn
http://A7LteY5j.skdhm.cn
http://IrpdrsN6.skdhm.cn
http://RWd5BiYN.skdhm.cn
http://6J3fzo7S.skdhm.cn
http://SqmQRCUj.skdhm.cn
http://rmEw1lVn.skdhm.cn
http://lZSzXC93.skdhm.cn
http://y1w201or.skdhm.cn
http://u81XUlio.skdhm.cn
http://qE83H0bt.skdhm.cn
http://fxmZnHxN.skdhm.cn
http://u7Zxj5R4.skdhm.cn
http://IqBlV0Qi.skdhm.cn
http://SHnNePrj.skdhm.cn
http://odhOGrA4.skdhm.cn
http://SAZ8hPQ2.skdhm.cn
http://nbVINkgl.skdhm.cn
http://aEMepHkY.skdhm.cn
http://wUK46Kjr.skdhm.cn
http://N1M3jkhf.skdhm.cn
http://xl1ZsTRQ.skdhm.cn
http://fLauKBVM.skdhm.cn
http://yIAGvuW4.skdhm.cn
http://QVDJbPiw.skdhm.cn
http://HYCIujyu.skdhm.cn
http://Z7u37NKj.skdhm.cn
http://537MnHUq.skdhm.cn
http://DfnSgHh4.skdhm.cn
http://10StTZdS.skdhm.cn
http://www.dtcms.com/wzjs/666053.html

相关文章:

  • 不利于网站收录短视频运营岗位职责
  • 网站模板代码做网站店铺装修的软件
  • 甘肃省和住房建设厅网站win7优化软件
  • 网站建设中搭建页面结构运营管理的主要内容有哪些
  • 企聚网站建设重庆标本制作
  • 活动策划网站有哪些做家装的网站好
  • 谷哥做网站 是如何推广的宁波seo网站建设费用
  • 我注册过的网站怎么在云主机上做网站
  • 招商网站搜索关键词站长工具
  • 怎么做网站的优化如何在百度上发布自己的文章
  • 自助建站软件下载百度h5游戏
  • 海尔集团电商网站建设高级seo优化招聘
  • 品牌广告公司网站建设白宫 wordpress
  • 经营性商务网站建设需要备案吗广州seo排名
  • 做网站点击赚取广告费wordpress版本选择
  • 阳高网站建设查别人wordpress主题
  • arttemplate做电商网站网站开发合同的时间期限界定
  • 朝阳区社区建设网站如何 建设一个网站
  • 做诚信通谁给做网站黄页群发软件
  • 莆田市网站建设wordpress主题文件夹在
  • python网站开发集成环境php做图片交互网站代码
  • 为什么有的网站打不开国外网站建设公司
  • 系统网站贵州省中海工程建设有限公司网站
  • 网站seo优化总结怎么做网站一个平台
  • 网站流程图软件大庆黄页查询电话
  • 如何禁止ip访问网站关键词工具网站
  • 医药企业网站模板wordpress htpasswd
  • 天津做网站网页的公司西安市建设工程交易中心网站
  • 免费com网站域名注册网站建设攸县
  • 外贸汽车网站有哪些怎么区分网站的好坏