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

网站建设 公众号学做网站多久

网站建设 公众号,学做网站多久,建网站需要哪些步骤,中国建设银行信用卡网站熟悉 vue 和 react 的小伙伴们都知道#xff0c;在执行过程中会有各种生命周期钩子#xff0c;其实webpack也不例外#xff0c;在使用webpack的时候#xff0c;我们有时候需要在 webpack 构建流程中引入自定义的行为#xff0c;这个时候就可以在 hooks 钩子中添加自己的方… 熟悉 vue 和 react 的小伙伴们都知道在执行过程中会有各种生命周期钩子其实webpack也不例外在使用webpack的时候我们有时候需要在 webpack 构建流程中引入自定义的行为这个时候就可以在 hooks 钩子中添加自己的方法。 创建插件 webpack 加载 webpack.config.js 中所有配置此时 webpack 创建 compiler 对象遍历所有 plugins 中插件调用插件的 apply 方法执行剩下编译流程触发各个 hooks 事件具体使用什么钩子和钩子是同步还是异步请移步compiler 钩子 创建一个 JavaScript 命名函数或 JavaScript 类在插件函数的 prototype 上定义一个 apply 方法绑定到 webpack 自身的事件钩子上导出这个JavaScript 命名函数或 JavaScript 类在 webpack.config.js 文件中引入并调用方法 自定义 banner-webpack-plugin 自定义 banner-webpack-plugin 插件该插件会在每一个打包后的 js 、css 文件第一行添加注释先看效果图。 emit 钩子是输出 asset 到 output 目录之前执行获取即将输出的资源文件compilation.assets遍历 assets只处理js和css资源其他文件不处理通过 content entcompilation.assets[filename].source() 获取原来内容拼接上注释 content prefix content修改资源的 source 和 size // plugins/banner-webpack-plugin.jsclass BannerWebpackPlugin {constructor(options {}) {this.options options;}apply(compiler) {// 在资源输出之前触发compiler.hooks.emit.tap(BannerWebpackPlugin, (compilation) {const extensions [css, js];const prefix /** Author: ${this.options.author}* Build Time: ${new Date()}*/;// 获取即将输出的资源文件compilation.assetsfor (const filename in compilation.assets) {if (compilation.assets.hasOwnProperty(filename)) {// 将文件名进行切割const splitted filename.split(.);// 获取文件扩展名const extension splitted[splitted.length - 1];// 只处理js和css资源其他文件不处理if (extensions.includes(extension)) {const asset compilation.assets[filename];// 获取原来内容let content asset.source();// 拼接上注释content prefix content;// 修改资源compilation.assets[filename] {// 最终资源输出时调用source方法source方法的返回值就是资源的具体内容source: () content,// 资源大小size: () content.length,};}}}});} } module.exports BannerWebpackPlugin;调用 BannerWebpackPlugin // config/webpack.config.js// 引入插件 const BannerWebpackPlugin require(../plugins/banner-webpack-plugin); module.exports {plugins: [// 调用插件new BannerWebpackPlugin({author: 小小愿望,}),], };自定义 take-time-webpack-plugin 自定义 take-time-webpack-plugin 插件该插件输出 “webpack 构建正在启动”打包完成后输出 webpack 构建已完成总耗时 { time } ms先看效果图。 // plugins/take-time-webpack-plugin.js// 一个命名的 Javascript 方法 或 JavaScript 类 class TakeTimeWebpackPlugin {time 0;// 原型上需要定义 apply 的方法apply(compiler) {// 生命周期钩子函数是由 compiler 暴露// 通过 compiler 获取 webpack 内部的钩子获取 Webpack 打包过程中的各个阶段compiler.hooks.environment.tap(TakeTimeWebpackPlugin, (compilation) {console.log(\x1B[36m, webpack 构建正在启动);this.time new Date().getTime();});// 通过 compiler 获取 webpack 内部的钩子获取 Webpack 打包过程中的各个阶段compiler.hooks.afterEmit.tapAsync(TakeTimeWebpackPlugin, (compilation, callback) {const nowTime new Date().getTime();this.time nowTime - this.time;const str webpack 构建已完成总耗时 ${this.time} msconsole.log(\x1B[32m, str);// 分为同步和异步的钩子异步钩子在功能完成后必须执行对应的回调callback();});} } module.exports TakeTimeWebpackPlugin;调用 TakeTimeWebpackPlugin 在 config/webpack.config.js 文件中引入并执行 TakeTimeWebpackPlugin // config/webpack.config.js// 引入插件 const TakeTimeWebpackPlugin require(../plugins/take-time-webpack-plugin); module.exports {plugins: [// 调用插件new TakeTimeWebpackPlugin(),], };
http://www.w-s-a.com/news/399680/

相关文章:

  • 旅游网站建设模板wordpress最好最全的教程
  • 网站站长在哪登陆后台网站设计一年费用
  • 济南比较好的网站建设公司邢台信息网123
  • 双峰网站建设漳州优化网站建设
  • app和网站开发的成本虚拟主机是啥
  • 想做一个自己设计公司的网站怎么做的销售培训
  • 南昌网站建设模板合作凡客app哪去了
  • 有免费做网站的吗建设互联网站
  • 北京市保障房建设投资中心网站淄博哪个网站做房屋出赁好
  • 如何做网站的优化网站开发怎么收费
  • 网站的关键词怎么选择2345实用查询
  • 免费的制作网站做图剪片文案网站app接单
  • 中国有多少网站有多少域名上海网站建设网页制作邢台
  • 网站 数据报表如何做室内设计联盟官方网站入口
  • 怎样建设网站论文合肥做网站的软件公司
  • 收款后自动发货的网站是怎么做的怎么看网站后台网页尺寸
  • 谷歌seo引擎优化宁波seo关键词
  • 外贸网站建设需要注意什么seo课程
  • 做信息图网站网站建设的软件介绍
  • 网站开发语言数据库有几种魏县审批建设的网站
  • 北京公司网站建设推荐海口建设
  • 不懂编程如何做网站婚礼网站模板
  • 像京东一样的网站wordpress入门视频教程7 - 如何在文章里加入视频和音乐
  • 惠州网站建设排名wordpress3万篇文章优化
  • 创建网站的三种方法北京建王园林工程有限公司
  • jsp网站建设模板下载十大免费excel网站
  • 网络公司网站图片网站建立好了自己怎么做优化
  • 云主机是不是可以搭建无数个网站百度快速seo优化
  • 房地产怎么做网站推广建立音乐网站
  • 川畅科技联系 网站设计网站开发的教学视频