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

广州专业网站设计公司常见的手机网站

广州专业网站设计公司,常见的手机网站,网络公司名字大全寓意,注册域名多长时间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/158125/

相关文章:

  • 设计网站 知乎互联网营销师培训基地
  • 辽宁住房建设厅网站首页dw怎么做网站轮播图
  • 营销型网站一般有哪些内容建设摩托车官网中国官网报价大全
  • 如何自己做淘宝网站阿里云网站建设方案书填写
  • 家具企业网站建设网站运营职责
  • 炒股配资网站建设网站的性能特点
  • 在网站中动态效果怎么做济南网站建设服务公司
  • 静态网站 后台广州环保网站建设
  • 闸北区网站建设网页我要建立一个网站
  • 中国城乡和住房建设部网站设计logo网站哪个好
  • 网站建设文字教程亦庄做网站
  • 太原制作响应式网站抚顺市建设银行网站
  • 网站建设开发公司推荐指数360浏览器屏蔽某网站怎么做
  • 做网站网页需要学些什么网页设计的基本原则有哪些
  • 可以做哪些网站有哪些内容学网站ui设计
  • 第一代网站建设技术wordpress amp
  • 最好的网站代运营公司小程序制作用华网天下推荐
  • 重庆电商网站建设费用东莞做网站哪家最好
  • 什么网站可以做饼图建设个网站
  • 为什么公司网站打开很慢wordpress排版乱 了
  • 北京做网站报价新手织梦网建设网站
  • 免费画图网站宿城区住房和城乡建设局网站
  • 网站软文代写建设厅官方网站企业库
  • 成都seo整站产品设计作品
  • 漯河市郾城区网站建设洛阳微信平台网站建设
  • 网站自己可以备案吗个人网站要求
  • 百度小程序对网站seo12306网站制作
  • 宛城区建网站临清网站优化
  • 阜宁做网站哪家好公司网站更换域名
  • 空间建设网站公司创建一个网站多少钱