从零开始搭建一个基于React框架的博客发布系统 (SIX) Webpack编译配置

本文主要是介绍从零开始搭建一个基于React框架的博客发布系统 (SIX) Webpack编译配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打包是门学问,用户浏览你的网站,你应该总是想用户查看不同的页面的同时去加载相应的资源,而不是用户访问你的网站你就一股脑的把服务端资源全部传送给用户,比如我要看第一篇博客,你凭什么把所有的博客全部发给用户,浪费流量倒是小事,但是网站资源过多,这就是性能的瓶颈。

在config下新建blog.js文件,分别把每篇博客作为打包的入口。可以打印一下blog返回的内容。

这里写图片描述

通过这个不难看出,他找到了博客所在的具体文件夹,可以看出第一次打包的产出结果:

这里写图片描述

css,js单独放在了一个文件夹中,以及md文件作为静态文件存在。

现在我把entry变成

entry: {app: [require.resolve('./polyfills'), paths.appIndexJs],...blogs},

app文件夹下统一存放index.js引申的文件,blog另外作为入口打包。

这里写图片描述

样式还没有处理,但是你可以看到,每一篇博客都被分别打包了。

剩下的时候就是我们开发的时候做的操作,包括raw-loader打包markdown文件,

less-loader,postcss-loader等解析css文件。这些和开发环境是一致的,因为毕竟build也需要执行展示的。

并且,在代码中,我使用了新引入的UglfyJsPlugin,并没有使用webpack**自带**的UglfyJsPlugin,避免一些问题的出现。

new UglifyJsPlugin({ sourceMap: false }),

看看现在的build效果:

这里写图片描述

这样依赖打包的内容就更清爽了,直观看到的是.map文件不见了,看刚才的UglfyJsPlugin的配置,

我们把sourceMap设置为了false
还差一步,我暂时还不知道原因,记得把webpack的一段话修改一下打包方式:

{test: /\.(js|jsx|mjs)$/,include: paths.appSrc,loader: require.resolve('babel-loader'),options: {//compact:true  放弃这个默认的操作。cacheDirectory: true,},},

一开始默认的是compact:true
这样一来,就剩下最后一步了,这个就不涉及前端的知识了,记得一开始的时候让大家新建过一个github.io的仓库,这个就是github提供给你存放部署代码的,你提交上去的代码他会自动为你部署,然后通过https://xxx.github.io就可以访问自己添加的内容了。

到这里,博客系统就告一段落了,以后可能会继续升级功能,谢谢收看,有问题留言哦。

这篇关于从零开始搭建一个基于React框架的博客发布系统 (SIX) Webpack编译配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248467

相关文章

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected