搭建一个React工程的方式有很多,官方也有自己的脚手架,如果你和我一样,喜欢刨根究底,从零开始自己一行一行代码创建一个React脚手架项目,那你就来对地方了.本教程是针对React新手,以及对webpack还不熟悉的用户,或者是想了解当前前端工程化方案的用户.我会在整个系列通过webpack4的配置,从生产和开发环境分别入手,包含代码压缩,大文件gz压缩,webpack4的code split,postcss等插件如何引入,css编译,如何让环境支持各种css预处理器,cssModule配置化…
经过三个章节的学习,你已经学会搭建了一个基于webpack4的react脚手架.如果要更改配置,比如,你希望把编译后的js文件和css文件等单独放dist下的static目录下,你想想,是不是有点麻烦.你要去浏览webpack的配置文件,找到哪些配置项,然后去更改它,我们希望有个参数配置文件,只要更改参数配置,而无需更改webpack的配置文件. 1 添加参数配置文件 (1)在根目录创建config文件夹,在config文件夹内新建一个index.js文件,文件内容如下: 'use strict…
本章节,我们对如何在脚手架中引入CSS,如何压缩CSS,如何使用CSS Modules,如何使用less,如何使用postcss等问题进行展开学习. 1 支持css (1)在app目录,新建一个css,命名为index.css,输入样式: h1{ display: flex; height: 200px; align-items: center; justify-content: center; color: #8FBC8F; } (2)在index.js中引入css import './ind…
html文件如何也同步到dist目录?bundle.js文件修改了,万一被浏览器缓存了怎么办?如何为导出的文件加md5?如何把js引用自动添加到html?非业务代码和业务代码如何分开打包?如何搭建开发环境?如何实现开发环境的热更新? 在上一节我们已经搭建了一个最基本的webpack环境, 这一节我们带着上节的一些疑问,继续优化我们的react工程.   1.整合html-webpack-plugin   public的index.html应该自动编译到dist目录,并且所有的js引用是自动添加的…
本章节,我们一起来探讨以下问题:如何对编译后的文件进行gzip压缩,如何让开发环境的控制台输出更加高逼格,如何更好的对编译后的文件进行bundle分析等. 1 gzip压缩 如果你想节省带宽提高网站速度,压缩是一种简单有效的方法.我们模拟一次html的请求,想象一下浏览器和服务器的对话: 浏览器:嘿,给我来一个 index.html文件 服务器:好的,让我去找找它是不是在~ 服务器:找到它了,我会返回一个成功的状态码(200 ok),我正在发送文件…… 浏览器:100kb? 我滴天……等啊……等…
1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎不够系统,所以萌生了从零搭建一个后端脚手架的想法.并把这个过程中的细节思路和之前的一些文章结合起来展现给大家,希望能够实实在在帮助学习Spring Boot的同学,当然能力有限如果有不足之处还请多多指教. 2. 面向的群体 首先,这个定位不是完全没有接触过Spring Boot的初学者,因为Spri…
初探webpack之搭建Vue开发环境 平时我们可以用vue-cli很方便地搭建Vue的开发环境,vue-cli确实是个好东西,让我们不需要关心webpack等一些繁杂的配置,然后直接开始写业务代码,但这会造成我们过度依赖vue-cli,忽视了webpack的重要性,当遇到一些特殊场景时候,例如Vue多入口的配置.优化项目的打包速度等等时可能会无从下手.当然现在才开始学习vue2 + webpack可能有点晚,毕竟现在都在考虑转移到vue3 + vite了哈哈. 描述 文中相关的代码都在http…
1. 前言 今天开始搭建我们的kono Spring Boot脚手架,首先会集成Spring MVC并进行定制化以满足日常开发的需要,我们先做一些刚性的需求定制,后续再补充细节.如果你看了本文有什么问题可以留言讨论.多多持续关注,共同学习,共同进步. Gitee: https://gitee.com/felord/kono GitHub: https://github.com/NotFound403/kono 2. 统一返回体 在开发中统一返回数据非常重要.方便前端统一处理.通常设计为以下结构:…
1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文集成了一些基础的功能,比如统一返回体.统一异常处理.快速类型转换.参数校验等常用必备功能,并编写了一些单元测试进行验证,今天把国内最流行的ORM框架Mybatis也集成进去.使用的Spring Boot版本为2.3.2.RELEASE. Gitee: https://gitee.com/felord/kono 1.0.0.MYBATIS 分支 GitHub: https://github.com/NotFound403/…
1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文把国内最流行的ORM框架Mybatis也集成了进去.但是很多时候我们希望有一些开箱即用的通用Mapper来简化我们的开发.我自己尝试实现了一个,接下来我分享一下思路.昨天晚上才写的,谨慎用于实际生产开发,但是可以借鉴思路. Gitee: https://gitee.com/felord/kono day03 分支 GitHub: https://github.com/NotFound403/kono day03 分支 2…
1. Spring Data Elasticsearch Spring Data Elasticsearch是Spring Data项目的子项目,提供了Elasticsearch与Spring的集成.实现了Spring Data Repository风格的Elasticsearch文档交互风格,让你轻松进行Elasticsearch客户端开发. 2. 个人的一些看法 应粉丝要求特地将Elasticsearch整合到Spring Boot 中去.本来打算整合到kono脚手架中,但是转念一想这样并不…
1. 前言 在上一文中我根据Mybatis中Mapper的生命周期手动实现了一个简单的通用Mapper功能,但是遗憾的是它缺乏实际生产的检验.因此我选择更加成熟的一个Mybatis开发增强包.它就是已经获得Gitee获得 6900 star 的Mybatis Plus. Gitee: https://gitee.com/felord/kono day04 分支 GitHub: https://github.com/NotFound403/kono day04 分支 2. Mybatis Plus…
1. 前言 上一文我们整合了Mybatis Plus,今天我们会把缓存也集成进来.缓存是一个系统应用必备的一种功能,除了在减轻数据库的压力之外.还在存储一些短时效的数据场景中发挥着重大作用,比如存储用户Token.短信验证码等等,目前缓存的选型还是比较多的,EHCACHE.HAZELCAST.CAFFEINE.COUCHBASE以及本文要整合的REDIS.接下来我们将会在kono脚手架项目中集成Spring Cache以及Redis. Gitee: https://gitee.com/felor…
1. 前言 文件服务器是一个应用必要的组件之一.最早我搞过FTP,然后又用过FastDFS,接私活的时候我用MongoDB也凑合凑合.现如今时代不同了,开始流行起了OSS. Gitee: https://gitee.com/felord/kono day06 分支 欢迎Star GitHub: https://github.com/NotFound403/kono day06 分支 欢迎Star 2. 什么是OSS 全称为Object Storage Service,也叫对象存储服务,是一种解决…
引言 学编程,还是多敲代码呀,React脚手架不支持less,因此需要配置webpack的webpack.config.js文件 释放配置文件 我们在使用React脚手架的时候,发现发现是没有webpack.config.js文件的,需要在项目中执行yarn eject命令,我试过使用npm不行,因此需要安装yarn // 全局安装 npm install yarn -g 下载less less-loader 使用 npm 或 yarn 下载均可 // 使用npm npm install les…
前言 平时进行开发大多数是基于vue-cli或者create-react-app等官方或者公司内部搭建的脚手架.   我们业务仔做的最多就是npm i和npm run dev或者npm start,然后在router文件夹上添加路由,在views或者pages文件夹中添加业务页面.这种快速开发对公司当然是好事,但对于开发人员来说对项目里的webpack封装和配置了解的不清楚,出 问题时很容易会不知如何解决,或者不会通过webpack去扩展新功能和优化编译速度.出去是没多大竞争力的,而且很容易被替…
用webpack4从零开始构建react脚手架 使用脚手架 git clone git@github.com:xiehaitao0229/react-wepack4-xht.git` `cd react-webpack4-xht `npm run dev` // 启动本地 `npm run build` // 打包线上环境 `npm run clean` // 清除线上环境打包出来的文件 `npm run test` // 单元测试的工具库 `npm run fix` // 修复eslint的写…
create-react-app 脚手架还没有更新到webpack4,但是猛然间发现webpack4已经到 v4.12.0 版本了!!!慌得不行,正好端午有空所以研究了一波,自己搭建了一个简单的react脚手架.实现本地代理,cssModule,css预处理,postCss,文件压缩等常用的功能 过程 进入项目 npm init生成package.json npm i webpack webpack-cli webpack-dev-server --save-dev 这3个包是webpack4的…
前言 首先这是一个react17的项目,包含项目中常用的路由.状态管理.less及全局变量配置.UI等等一系列的功能,开箱即用,是为了以后启动项目方便,特地做的基础框架,在这里分享出来. 这里写一下背景,我最开始是node8的环境,因为react17需要至少node14的版本,我就直接升级到16了,关于node升级遇到的问题,我有另一篇文章专门罗列步骤和可能出现的问题及解决方案,这里就不多说.链接在这  https://www.cnblogs.com/pengfei-nie/p/15701138…
公司突然组织需要重新搭建一个基于node的论坛系统,前端采用react,上网找了一些脚手架,或多或少不能满足自己的需求,最终在基于YeoMan的react脚手架generator-react-webpack上搭建改造,这里作为记录. 代码在这里:github 另外推荐地址:react-starter-kit 简单文件夹结构 ├── README.md # 项目README文件 ├── conf # 配置文件夹 │   └── webpack # webpack配置(下面包括开发.生产.测试环境的…
其他章节请看: 七天接手react项目 系列 react 脚手架创建项目 前面我们一直通过 script 的方式学习 react 基础知识,而真实项目通常是基于脚手架进行开发. 本篇首先通过 react 脚手架创建项目,分析其目录结构,接着编写第一个组件.解决样式覆盖,最后配置代理 proxy 以及通过消息发布与订阅解决兄弟组件之间的通信问题. Tip:我们要接手的 react 项目是:spug_web. 使用 react 脚手架创建项目 react-cli-demo 前面我们学习 vue 脚手…
今天要完成在windows下从零开始构建一个react应用的任务 首先,新建一个文件夹,然后在该文件夹下使用命令npm init 初始化一个node项目. 然后安装所需依赖, npm i react react-dom mobx @types/react @types/react-dom --save npm i webpack webpack-dev-server typescript  ts-loader source-map-loader --save-dev 然后在根目录下新建文件夹sr…
需要安装的软件 node.js npm包管理 Webstorm 由于6.3.0版本之后会自带npm的包管理所以不需要单独的安装npm nodejs(包含npm)安装在默认路径C:\Program Files\nodejs比较好,也不是很大 Webstrom安装完成后,在打开的 License Activation 窗口中选择 License server. 在输入框输入网址:http://idea.iteblog.com/key.php 最后点击 Activate 构建项目和安装依赖包 使用we…
# OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-homebrew安装 2.2-使用homebrew安装CMake 2.3-源码安装OpenCV 2.4-xcode配置与测试 2.5-基础问题回答 3-资料 1-学习目标 1.1-本章介绍 因为不可抗力(╯﹏╰),最近去图书馆借了一本<OpenCV编程案例详解>,准备学习OpenCV的使用,因为身患懒癌…
23:01:17 react脚手架搭建 (个人用的是webstorm,所以分享下webstorm中的创建react脚手架项目的方法) 1.创建新项目(前提是下载nodejs环境) 2.下载好在webstorm中右键自己创建的项目目录,菜单中会出现一个命令行工具,点进去   然后    npm start 开启服务 3.在浏览器中打开 http://localhost:3000/ 可以看见react的默认页面 初步的搭建完成,开始自己写东西…
从零搭建基于webpack的Electron-Vue3项目(1)--基于webpack的Vue3项目搭建 前言 本篇文章内容,主要是基于webpack的Vue3项目开发环境进行搭建,暂时还不涉及到Electron的整合.可以独立的当作一个内容来进行阅读. 项目创建 创建目录electron-vue3-webpack并进入执行npm init命令.设置了基础的项目信息后,我们开始本次的环境搭建之旅. 使用webpack 前置条件 基本熟悉webpack是什么以及它打包的运行处理过程. 环境准备 前…
1.什么是React? React是一个一个声明式,高效且灵活的用于构建用户界面的JavaScript库.React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源. 2.React有哪些特点? 1.声明式设计 −React采用声明范式,可以轻松描述应用. 2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互. 3.灵活 −React可以与已知的库或框架很好地配合. 4.JSX − JSX 是 JavaScript 语…
前言 在对着产品高举中指怒发心中之愤后,真正能够解决问题的是自身上的改变,有句话说的好:你虽然改变不了全世界,但是你有机会改变你自己.秉承着“不听老人言,吃亏在眼前”的优良作风,我还是决定玩火自焚. 问题所在 之前的项目总结为以下内容: 1.AMD模块规范开发,使用requirejs实现,使用rjs打包,最终导致的结果是,输出的项目臃肿,肿的就像一坨狗不理……不忍直视2.使用gulp进行打包,这一点貌似没有可吐槽的地方,毕竟都是被grunt折磨过来的……3.数据的渲染使用模板引擎,这就意味着你要…
公司突然组织需要重新搭建一个基于node的论坛系统,前端采用react,上网找了一些脚手架,或多或少不能满足自己的需求,最终在基于YeoMan的react脚手架generator-react-webpack上搭建改造,这里作为记录. 代码在这里:github 另外推荐地址:react-starter-kit 简单文件夹结构 ├── README.md # 项目README文件 ├── conf # 配置文件夹 │   └── webpack # webpack配置(下面包括开发.生产.测试环境的…
webpack-demos:全网最贴心 webpack 系列教程和配套代码 欢迎关注个人技术博客:godbmw.com.每周 1 篇原创技术分享!开源教程(webpack.设计模式).面试刷题(偏前端).知识整理(每周零碎),欢迎长期关注! 如果您也想进行知识整理 + 搭建功能完善/设计简约/快速启动的个人博客,请直接戳theme-bmw 放在开头 由于完全是博主利用业余时间编写和整理的,所以有些地方难免有失偏颇,还请多多海涵.如果您发现错误,欢迎致信 2181111110@qq.com 或 y…