UNPKG

@edwardxyt/gws-cli

Version:

这是一个web脚手架工具,用于生成基于webpack5,生成typescript+react17+mobx5+reactRouter6的应用。初衷是要解决多入口,多环境。单独编译单独运行的脚手架。做到小而美。拒绝锦上添花。

168 lines (153 loc) 5.2 kB
# @edwardxyt/gws-cli Official React bindings for @edwardxyt/gws-cli, with mobx@5. react-router@5. webpack@4. antd ## Getting Started ### Installing globally: Using npm: ``` yarn global add @edwardxyt/gws-cli ``` Using yarn: ``` yarn global add @edwardxyt/gws-cli ``` ### Usage: ``` gws-cli ``` 执行后填写配置,回车执行生产一个脚手架文件夹。 > 注意:gws-cli已经放弃,请安装 @edwardxyt/gws-cli ## Example ![WX20190411-180931](media/15549621575960/WX20190411-180931.png) ``` xiayuting@xiayutingdeMacBook-Pro  ~  gws-cli [gws-cli] version: 2.0.51 ? 项目名称: website2019 ? 描述: ? 模式选择: Base-2019(Alpha) ? 是否安装依赖: No cp: no such file or directory: /Users/xiayuting/.nvm/versions/node/v10.14.2/lib/node_modules/@edwardxyt/gws-cli/src/base-2019(alpha)/ cd: no such file or directory: /Users/xiayuting/website2019 mv: no such file or directory: /Users/xiayuting/website2019/gitignore [gws-cli] [未安装依赖请手动执行] [gws-cli] [进入项目] cd website2019 [gws-cli] [安装依赖] npm run install [gws-cli] [查看项目树] npm run tree [INFO] -------------------------------------------------------------------------------- [gws-cli] [运行入口news/demo、 启动mock环境] npm run start --ENTRY=news/demo --ENV=mock [gws-cli] [运行入口news/git、启动mock环境] npm run watch --ENTRY=news/git --ENV=mock [INFO] -------------------------------------------------------------------------------- [INFO] -------------------------------------------------------------------------------- [gws-cli] [编译news/demo、启动test环境] npm run compile --ENTRY=news/demo --ENV=test [gws-cli] [启动http服务器、项目news/demo] npm run node:server --ENTRY=news/demo [INFO] -------------------------------------------------------------------------------- xiayuting@xiayutingdeMacBook-Pro  ~  ``` 请选择Base-2019(Alpha)模式,这是最新版react脚手架,使用技术如下 | 模块名称 | 版本 | | --- | --- | | Webpack | 4 | | Babel | 7 | | react | 16.8 | | antd | 3 | | antd-mobile | 2 | | mobx | 5 | | react-router-dom | 5 | ### Detail cd website2019(该名称为默认),目录结构如下: ``` . ├── Dockerfile ├── bin │   ├── compile.js │   ├── del.js │   ├── koa.server.js │   ├── oss.js │   ├── tag.js │   └── tree.js ├── config │   ├── console.js │   ├── index.tsx │   ├── project.js │   ├── webpack.development.config.js │   └── webpack.production.config.js ├── dist │   └── news │   └── demo │   ├── README.md │   ├── favicon.ico │   ├── index.html │   └── static ├── jenkins │   └── release.server.docker.groovy ├── package.json ├── postcss.config.js └── src └── news └── demo ├── README.md ├── common ├── favicon.ico ├── index.hbs ├── main.js ├── mobileRouter ├── pcRouter ├── stores └── templatess ``` ### Config & Use 上面目录目录结构中,/config/project.js,是您的项目启动配置文件。里面已有案例news/git 项目。如下: ``` news: { // 对应 __PROJECT__ 例:news/demo demo: { env: { // mock 对应 __ENV__ mock: { // 对应 __API__ api_path: "//127.0.0.1:3000", // 对应 Vconsole console: true, // 对应 __CDN__ 修正路径作用 cdn_path: "./" }, development: { api_path: "//bizdev.xiayuting.com", console: false, cdn_path: "/devStatic/website2018/news/demo/" }, test: { api_path: "//bizapitest.xiayuting.com", console: true, cdn_path: "./" }, production: { api_path: "//biz.xiayuting.com", console: false, cdn_path: "./" } } } } ``` > news/demo 就是 src目录下的目录结构。 ``` npm run start --ENTRY=news/demo --ENV=mock 启动本地开发模式,项目名称为 news/demo 当前环境为mock 对上面的配置文件载入配置。 ``` ``` npm run compile --ENTRY=news/demo --ENV=production 启动静态编译模式,项目名称为 news/demo 当前环境为production 生成静态文件dist目录里。 ``` ``` npm run tree tree:bin /Users/xiayuting/workBase/gws-cli2/src/news/demo/main.js +0ms tree:bin 总数:1 +2ms 查看当前脚手架中,已有项目入口 ``` ``` npm run tree npm run node:server --ENTRY=news/demo 启动本地http服务,静态目录为 dist/news/demo 所以 npm run compile 和 npm run node:server 的--ENTRY参数应该一样。 ``` ## License MIT