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

网站优化方案wordpress添加小说板块

网站优化方案,wordpress添加小说板块,广州穗科建设监理有限公司网站,手机软件开发入门教程选用合适的loader来处理不同的资源和不同的功能#xff0c;以下是一些主流的loader#xff0c;但这并不是全部#xff0c;因为每时每刻都可能有新的loader 发布到 npm上 babel-loader babe-loader 用来处理ES6并将其编译为ESS#xff0c;它使我们能够在最新的工程中使用最…选用合适的loader来处理不同的资源和不同的功能以下是一些主流的loader但这并不是全部因为每时每刻都可能有新的loader 发布到 npm上 babel-loader babe-loader 用来处理ES6并将其编译为ESS它使我们能够在最新的工程中使用最新语言特性同时不必特别关注这些特性在不同平台的兼容问题 在安装时推荐使用以下命令: npm install babel-loader babel/core babel/preset-env在配置 babel-loader 时有一些需要注意的地方。请看下面的例子: rules:[ {test: /\.js$/,exclude: /node_modules/,use:(loader: babel-loader,options:{cacheDirectory: truepresets: [[env{modules; false,}]]},), } ],由于babel-loader通常属于对所有JS后缀文件设置的规则所以需要在exclude中添加node_modules否则会令 babel-loader 编译其中所有的模块这将严重拖慢打包的速度并且有可能改变第三方模块的原有行为。 对于babel-loader本身我们添加了cacheDirectory 配置项它会启用缓存机制在重复打包未改变过的模块时防止二次编译同样也会加快打包的速度。cacheDirector可以接收一个字符串类型的路径来作为缓存路径这个值也可以为 true此时其缓存目录会指向 node_modules/.cache/babel-loader 由于babel/preset-env会将ES6 Module转化为CommonJS 的形式这会导致 Webpack中的 tree-shaking 特性失效**babel/preset-env的modules 配置项设置为false会禁用模块语的转化而将ESModule的语法交给 Webpack 本身处理。** ts-loader ts-loader 与 babel-loader 的性质类似它是用于连接Webpack 与 Typescript的模块。可使用以下命令进行安装: npm install ts-loader typescriptWebpack 配置如下: rules;[{test: /\.ts$/,use:ts-loader,} ],需要注意的是Typescript本身的配置并不在ts-loader 中而是必须要放在工程录下的tsconfig.json中。 通过 Typescript 和 ts-loader我们可以实现代码类型检查。 html-loader html-loader用于将HTML文件转化为字符串并进行格式化这使得我们可以把一个HTML片段通过JS加载进来 安装命令如下: npm install html-loaderWebpack配置如下 rules;[{test: /\.html$/,use:html-loader,} ],header.html将会转化为字符串并通过 documentwrite 插人页面中 file-loader file-loader 用于打包文件类型的资源并返回其 publicPath。 安装命令如下: npm install file-loaderWebpack配置如下 const path require(path); module.exports (entry:./app.js,output: {path: path.join(__dirname,dist),filename: bundle.js},module:(rules:[{ test: /\.(png|jpg|gif)$/use:file-loader,}],}, }; 4 上面我们对png、jpg、gif这类图片资源使用 file-loader然后就可以在JS中加载图片了。 import avatarImage from ./avatar.jpg;console.log(avatarImage);// c6f482ac9a1905e1d7d22caa909371fc.jpgurl-loader url-loader 与 fle-loader 作用类似唯一的不同在于用户可以设置一个文件大小阈值当大于该阙傻时与 fle-loader一样返回 publicPath而小于该值时则返回文件base64 形式编码。 安装命令如下: npm install url-loaderWebpack 配置如下: rules:[{test:/\.(png|jpg|gif)$/,use:{loader: url-loader,options:{limit: 10240,name: [name].[ext],publicPath: ./assets-path/,}}} ]url-loader 可接收与 file-loader 相同的参数如name和 publicPath 等同时也可以接收一个 limit 参数。 vue-loader vue-loader 用于处理 vue 组件: 安装命令如下; npm install vue-loader vue vue-template-compiler css-loaderWebpack配置如下 rules;[{test: /\.vue$/,use:vue-loader,} ],自定义 loader 有时会遇到现有 loader 无法很好满足需求的情况这时就需要我们对其进行修改或者编写新的 loader。如前面代码所演示的一样loader 本身其实非常简单下面就从头实现一个loader 我们将实现一个loader它会为所有JS文件启用产格模式也就是说它会在文件头部加上如下代码: use strict在开发一个loader时我们可以借助 npm/yarn 的软链能进行本地调试(当然之后可以考发布到 npm等)。下面让我们初始化这个loader并配置到工程中。 创建一个 force-strict-loader 目录然后在该目录下执行 npm初始化命令 npm init -y接着创建 index.js也就是 loader 的主体 module.exports function(content){var useStrictPrefix \use strict\;\n\n;return useStrictPrefix content; }现在我们可以在 Webpack 工程中安装并使用这个 loader了。 npm install path-to-loader/force-strict-loader在 Webpack工程目录下使用相对路径安装会在项目的node modules 中创建一个指向实际 force-strict-loader 目录的软链也就是说之后我们可以随时修改 loader源码并软链且不需要重复安装了。 下面修改 Webpack 配置 module:{rules:[{test:/\.js$/,use: force-strict-loader}] }我们将这个loder设置为对所有JS 文件生效。此时对该工程进行打包应该可以看到JS文件的头部都已经加上了启用严格模式的语句。 启用缓存 当文件输入和其依赖没有发生变化时应该让 loader 直接使用存而不 行转换的工作。在 Webpack 中可以使用 his.cacheable 进行控制修改我们的 module.exports function(content){if(this.cacheable){this.cacheable();}var useStrictPrefix \use strict\;\n\n;return useStrictPrefix content; }通过启用缓存可以加快 Webpack 打包速度并且可保证相同的输人产生输出。 获取options 前文讲过loader的配置项通过 use.options 传进来如: rules:[{test:/\.js$/,use: {loader:force-strict-loader,options:{sourceMap: true}}}]上面配置了一个配置项sourceMap接下来要再loader中获取要先安装一个依库loader-utils安装命令如下 npm install loader-utilsloader更新如下 var loaderUtils require(loader-utils); module.exports function(content){if(this.cacheable){this.cacheable();}var options loaderUtils.getOptions(this) || {};var useStrictPrefix \use strict\;\n\n;return useStrictPrefix content; }通过loaderUtils.getOptions可以获取到配置对象 source-map source-map可以便于实际开发者在浏览器控制台查看源码。如果没有对source-map进行处理最终也就无法生成正确的 map 文件在浏览器的 dev tool中可能就会看到错乱的源码。 下面是支持了source-map特性后的版本 var loaderUtils require(loader-utils); var SourceNode require(source-map).SourceNode; var SourceMapConsumer reuqire(source-map).SourceMapConsumer; module.exports function(content){if(this.cacheable){this.cacheable();}var useStrictPrefix \use strict\;\n\n;return useStrictPrefix content;var options loaderUtils.getOptions(this) || {};if (options.sourceMap sourceMap) (var currentRequest loaderutils.getCurrentRequest(this);var node SourceNode.fromStringWithsourceMap(content,new SourceMapConsumer(sourceMap));node.prepend(usestrictPrefix);var result node.toStringWithSourceMap(( file: currentRequest ));var callback this.async();callback(nullresult.coderesult.map.toJSON());}//不支持source-map情况return useStrictPrefix content; }我们通过source-map这个库来对map进行操作包括接收和消费之前的文件内容和source-map对内容节点进行修改最后产生新的source-map 在函数返回的时候要使用this.async获取 callback 函数(主要是为了一次性返回多个值)。callback函数的3个参数分别是抛出的错误、处理后的源码以及source-map
http://www.hkea.cn/news/14360153/

相关文章:

  • 免费解析素材网站网站建设答辩内容
  • 数据库能上传网站模板做网站用cms好吗
  • 网站里的友情链接《网站设计与建设》电子书
  • sem是做什么的seo管理平台
  • 内容网站 如何做采集wordpress编辑不了
  • 电脑怎么做服务器 网站格力空调网站建设策划书
  • 做地方门户网站的资质天元建设集团有限公司鹿腾
  • php可以自己做网站吗广州市住房与城乡建设部网站
  • 网站单页发布黑龙江哈尔滨网站建设
  • 昌都市网站建设百度自动点击器
  • 视差效果网站郑州短视频拍摄制作
  • 免费网站下载直播软件江门网站建设工作
  • 杭州外贸网站建设公司申跃wordpress怎么上传缩略图
  • 网站建设方案书模板网页设计的尺寸
  • 最新网站推广天网查询企业查询
  • 网站开发哪个好网站建设零基础好学吗
  • 网站源码怎么做个人网站制作代码
  • 东莞做网站首选企业铭上传wordpress数据包
  • 网站后台这么做网络设计与制作课程
  • 医院加强网站建设中国建设银行网站上不去
  • 支付宝网站申请接口世赛网站开发与设计
  • 秦皇岛网站推广wordpress 小工具制作
  • 矢量网站动画怎么做建站购物网站
  • 自闭症网站的建设意义网站设计需要会什么
  • 做兼职写小说网站网络优化seo薪酬
  • 网站建设技术 论坛手机软件开发语言
  • 从零开始建设网站0fees 安装 wordpress
  • 门户网站如何运营利用小程序反向做网站
  • 做网站最清晰的字体建设九九网站
  • 西安印象网站建设wordpress 404