0.7.1 • Published 6 years ago

generator-react-app-cli v0.7.1

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

Generator-react-app-cli

Is a cli for creating react project projects work.

status Build Status

有时候我们在使用create-react-app时候,会发现其缺少定制功能,从而我们需要从node_modules中寻找对应的文件进行修改,但团队开发中不能确保node_modules中对应的文件的大家都一致,所以我们需要扩展这功能,不得不承认create-react-app是一款很优秀的脚手架。本项目是基于create-react-app和社区等优秀的脚手架,把所有项目的配置文件均放在config目录下,提供给开发者自定修改,但大部分情况,甚至最好不要修改 config 目录下的文件,因为项目提供配置文件升级的功能,所以会覆盖掉你修改的文件。作者会把实用的功能均通过配置文件peak.json提供给开发者,你也可以把需求和好的建议通过issues告诉我。

该工具的出发点是不采取过分的抽象和极其复杂的去简化,把大部分通用的功能简化成配置文件出来,同时保留并区分好各类的 config 文件给开发者去适配所需的场景。

Table of Contents

Requirements

node >= 7.6
yarn >= 0.22
npm >= 4.x

Use

# Install
$ npm i generator-react-app-cli -g

# Create app
$ peak new myapp

# Start app
$ cd myapp
$ npm i
$ npm run dev

# Upgrade
$ npm update

Remarks

  • npm update,升级需要先更新generator-react-app-cli,升级会覆盖/config、/bin,如果有修改过其下的文件,请备份。

Features

  • support redux/redux(ts) boilerplate.
  • support service work.
  • support typescript.
  • support command update config(But don’t modify files in the current config directory).
  • support single/multi page.

Plan

Future plans

a

  • support mobx boilerplate(Development ing).
  • support mobx typescript boilerplate(Development ing).
  • support srr page(Development ing).
  • support multi page.

ConfigFile

Please edit peak.json.

keyDescriptionvalue
version版本号
language脚本类型js or ts
bundleAnalyzer模块资源大小分析功能默认false
bundleBuddy打包后各资源文件分析功能默认false
lodashJSlodash.Js按需打包默认false
vconsole移动端开发提供console打印等功能默认false
host默认localhost
port端口地址默认3000
mock_portmock server端口地址默认3001
globals程序全局变量,webpack DefinePlugin默认{}
public_path应用的资源相对路径默认/
js_pathjs 资源的路径默认static/js/
css_pathcss 资源的路径默认static/css/
media_pathmedia 资源(其它)的路径默认static/media/
html模板变量,可以在 html 中<script src="%键名%"></script>输出默认{}
compiler_commons公用资源打包,建议自定义公用的 js 代码默认[]
compiler_vendors公用资源打包,建议打包第三方的依赖,使用的是webpack Dll相关功能默认[],没值该功能关闭
swservice work 的配置, 内置配置./config/sw/sw.config.js默认{}
prePreloadWebpackPlugin插件,当无配置时候默认关闭该功能默认{}

Describe

describe about config

details

目前 typescript 开发的话就只能依赖 package.json 里面标明的版本号,如果升级后会出现一些错误信息,现阶段建议使用 es 模板。

pre

在资源加载上有时需要prebrowsing,提前加载或者缓存文件,也是静态资源加载优化的一种方法。

prebrowsing

  • dns-prefetch:DNS 预解析,告诉浏览器未来我们可能从某个特定的 URL 获取资源,当浏览器真正使用到该域中的某个资源时就可以尽快地完成 DNS 解析。多在使用第三方资源时使用。
  • preconnect:预连接,完成 DNS 预解析同时还将进行 TCP 握手和建立传输层协议。
  • prerender:预渲染,预先加载文档的所有资源,类似于在一个隐藏的 tab 页中打开了某个链接 – 将下载所有资源、创建 DOM 结构、完成页面布局、应用 CSS 样式和执行 JavaScript 脚本等。
  • prefetch:预获取,使用 prefetch 声明的资源是对浏览器的提示,暗示该资源可能『未来』会被用到,适用于对可能跳转到的其他路由页面进行资源缓存。被 prefetch 的资源的加载时机由浏览器决定,一般来说优先级较低,会在浏览器『空闲』时进行下载。
  • preload:预加载,主动通知浏览器获取本页的关键资源,只是预加载,加载资源后并不会执行;

前三种浏览器默认内置的优化,prefetchpreload需要根据实际开发情况。美团点评 Web 静态资源缓存及优化

DevExperience

  • 建议编辑器vscode安装prettier插件,项目安装prettier-eslint,搭配eslint会根据 eslint 规范自动代码格式化

License

Generator-react-app-cli is MIT licensed.

End

If you have any questions, you can give me issues!Thank you!

0.7.1

6 years ago

0.7.0

6 years ago

0.6.0

6 years ago

0.5.5

6 years ago

0.5.4

6 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago