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

如何做网站改版深圳市宝安区西乡街道

如何做网站改版,深圳市宝安区西乡街道,旅行的意义 wordpress主题,园林景观设计公司利润1. webpack基本概念 webpack#xff1a; JavaScript 应用程序的静态模块打包器#xff0c;是目前最为流行的JavaScript打包工具之一。webpack会以一个或多个js文件为入口#xff0c;递归检查每个js模块的依赖#xff0c;从而构建一个依赖关系图#xff0c;然后依据该关系…1. webpack基本概念 webpack JavaScript 应用程序的静态模块打包器是目前最为流行的JavaScript打包工具之一。webpack会以一个或多个js文件为入口递归检查每个js模块的依赖从而构建一个依赖关系图然后依据该关系图将整个应用程序打包成一个或多个bundle。webpack是用nodejs编写所以它依赖的运行环境就是nodejs。也正因为这一点webpack只能识别JavaScript所有非JavaScript包括HTMLCSSTypescript等编写的文件都需要经过处理这是借助对应的loader实现的。webpack使用的是nodejs默认的模块系统commonjs借助nodejs提供的API来操作待打包项目的源文件如fs模块、path模块等。webpack将这些文件整合压缩后输出到一个特定的目录下通常是dist。处理过的dist一般会被直接上传到静态资源服务器使用。 2. 使用webpack原因 未打包的项目通常体积庞大文件数量众多。如果将其直接上传到服务器用户访问网站时浏览器会发送大量的http请求来下载这些文件这会给服务器带来很大的压力同时客户端的体验也非常不好。浏览器本身不支持任何模块系统。因此使用模块系统开发出的JavaScript代码无法直接在浏览器中运行而模块系统对现代JavaScript开发是非常重要的。这样我们需要有一个工具将模块系统编写出的代码转化为浏览器所能识别的代码。webpack就可以完成这一任务。大多数情况下我们不希望源代码暴露给用户即使是保密性要求不那么高的前端代码。我们知道PC端浏览器通常都提供开发者工具可以方便地查看和调试前端代码这在开发环境下意义重大。但对于生产环境暴露源代码不仅没有太大意义反而存在安全隐患如果黑客比你更先发现代码中的bug你可能面临严重损失。因此我们可以借助webpack重组和混淆源代码增加黑客阅读源代码的难度以提升系统的安全性。借助webpack提供的dev-server可以实现前后端分离。dev-server本质上就是一个node服务。当通过命令行启用dev-server时webpack会在本地启动一个node服务将打包后的文件作为静态资源注入该服务这样就可以在不依赖后台这种说法并不完全准确实际上webpack是通过node为你提供后台服务的情况下进行前端开发了。 配置对象中包含四个核心参数 入口entry出口output加载器loader插件plugin 入口 webpack的打包入口也就是webpack从哪个js开始打包。一个应用程序可以有一个或多个入口由entry属性指定通常是一个对象。 module.exports {entry: {main: ./src/main.js} } // 可以简写为:entry: ./src/main.js应用程序可以有多个打包入口多页面应用配置 entry: {app: ./src/app.js,main: ./src/main.js } //允许这么写entry: [./src/main1.js, ./src/main2.js]//要求webpack分别以app.js和main.js为打包入口独立构建依赖关系图。 //最终项目代码和第三方代码将被独立打包出来。 //构建多页应用时也是分别为每个页面提供一个入口文件独立构建依赖图。出口output 单页面应用打包输出 module.exports {entry: {main: ./src/main.js},output: {filename: bundle.js, //文件名path: path.resolve(__dirname /dist) //打包输出的文件路径} }多页面应用打包产生的输出结果也会有很多个 {entry: {app: ./src/app.js,main: ./src/main.js},output: {filename: [name].js, //使用占位符[]定义文件名path: path.resolve(__dirname /dist)//filename: [name].[hash].js, //使用热更新HMR的配置,有助于热更新检测到输出文件变化//使用splitChunk进行代码分割时被分割出来的代码默认命名为chunk.[hash].js} } // 打包路径将输出app.js和main.js两个文件加载器loader webpack的运行环境是nodejs因此它只能识别JavaScript。但是我们的项目中可能存在大量的非JavaScript文件如HTML、CSS、Typescript、txt图片文件等,他们可能就被js文件依赖这时候就很难打包上他们。 解决这个问题我们需要一些额外的代码帮助webpack识别js文件中的嵌套依赖。一个加载器loader实际上就是一个将特定的字符串转化成JavaScript代码的函数。 //配置css-loader和style-loader module.exports {module: {rules: [{ test: /\.css$/, use: [style-loader, css-loader] //webpack将依次从后向前执行每个loader//因为webpack采用的是流式处理所以loader的书写顺序非常重要最先需要执行的loader必须放在数组的最后。// 执行步骤//1. 使用nodejs的fs模块读取index.css将读取到的字符串交给css-loader。//2.执行css-loader。它是一个函数将原始字符串进行一定的处理输出一个新的字符串。//3.将上一步输出的字符串交给style-loader进行第二步处理最终仍然输出一个字符串。//4.由webpack解析最终的处理结果。 },]} };插件plugin //在webpack配置文件中使用插件 const ConsoleLogOnBuildWebpackPlugin require(ConsoleLogOnBuildWebpackPlugin) module.exports {...plugins: [new ConsoleLogOnBuildWebpackPlugin()] }3. 热更新原理 nodejs使用一个清单文件来记录当前所有的资源文件这个清单文件也正是热更新模块的监测对象。 热更新模块监测到文件名变化后会通过websocket将这个新的文件发送到浏览器浏览器重新执行该文件完成局部更新。由于只通过websocket发送了单个模块所以页面既不会重载也不会大面积刷新。
http://www.huolong8.cn/news/6586/

相关文章:

  • 网站目录遍历自己做网站想更换网址
  • 南昌网站建设方案优化中国十大互联网公司排名2021
  • 深南花园裙楼+网站建设乐清新闻综合频道
  • 有经验的常州网站建设郑州公司建站搭建
  • 河间哪里有做网站的微商城建设购物网站
  • 网站建设活动深圳制作网站推荐
  • 学院网站建设策划书南昌网站建设包括哪些
  • 查看公司信息的网站dw做网站环境配置
  • 手机微网站平台登录入口wordpress 修改用户名
  • 常州网站推广软件信息太原网站建设制作报价
  • 手机网站和电脑网站跳转制作网站题材
  • 网站内容与栏目设计wordpress 多标签插件
  • 商丘网站制作的流程河源网站建设工作室
  • 公司网站如何制作价格住房和城乡建设领域从业人员证书
  • 长沙网站建设 鼎誉郑州网站排名哪家好
  • ps网站子页怎么做的山东青?u68元建网站
  • 兼容手机的网站龙岩网站建设大概费用
  • 域名主机网站导航遵义网约车租车公司
  • 做网站接私活价格怎么算长沙seo招聘
  • 黄山新洲建设集团网站帝国cms 门户网站
  • 网站做301根目录在哪里一品楼
  • 佛山网站建设网络公司浙江专业网站seo
  • 什么是工具型网站wordpress注册链接无效
  • 外贸网站优化方案毕业设计怎么做网站
  • 西安网站手机网站建设网络营销有哪些模式
  • 前端只是做网站吗app系统开发公司
  • 自贡市规划建设局网站开发一个app平台大概需要多少钱?
  • qq代刷网站社区建设vi应用设计
  • 多站点网站群的建设与管理WordPress改成淘宝客
  • 高埗做网站公司量化交易网站开发