Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
generator-dc
Advanced tools
generator-dc
是一个react快速搭建脚手架项目,该项目依赖于 yeoman 。
使用者可参考 API 生成一套可供快速开发的 react web 项目,甚至在此基础上按规则生成react-router
路由。
该脚手架内部集成了一些相对有用的开发工具,可供选择,使用者可根据自身喜好直接修改这些工具。
该项目确定使用typescript
作为类型系统,在选择该工具之前请先做了解。
该项目具有一定的普遍性,但并非万能,所有脚手架生成的代码可直接修改。 另外根据项目作者喜好,脚手架为使用者提供类似 use-agent-reducer 、antd 、type-qs 等便捷库, 使用者可自行参考这些库的文档,并使用它们。关于部分生成工具的使用说明,可参考生成项目不同目录下的 README.md 文件。
一、安装 yeoman
npm install -g yo
二、安装 generator-dc
npm install -g generator-dc
输入命令
/path/my$ yo dc --git
按提示进行功能选择:
../dist
)h5
和hash
两种单页模式)test
目录,test
目录下的测试文件路径和src
目录下的真实路径相对相同。*.test.ts(x)
文件。命令: yo dc
参数:
generator-dc
的修改统一加入gitgenerator-dc
在搭建完脚手架后不自动安装package.json
中的内容输入命令
// 生成 react-router 路由及相关目录
/path/my$ yo dc:route /myPage
// 生成 react-router 路由及相关目录,并指定当前路由为 index redirect 路由
/path/my$ yo dc:route /otherPage/subPage --redirect
// 清除所有路由
/path/my$ yo dc:route /
生成目录:
+ src -
...
+ pages -
+ myPage -
index.tsx // 路由
layout.tsx // 页面渲染
style.less // less文件
+ otherPage -
index.tsx
childNodes.tsx // 二级子路由描述文件
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
index.tsx // 总路由
childNodes.tsx // 一级子路由描述文件
生成路由访问:
myPage页面路由
http://[host]:[?port]/[?basename/]my-page
otherPage页面路由
http://[host]:[?port]/[?basename/]other-page
因为该路由的子路由 subPage 使用了 --redirect 参数,所以自动跳转至
http://[host]:[?port]/[?basename/]other-page/sub-page
命令:dc:route [path]
path起点根目录为 ./src/pages
参数:
/path/my$ yo dc:route /myPage --snake-case
效果
http://[host]:[?port]/[?basename/]my_page
命令:dc:route [routes.json]
[routes.json]
为当前项目根目录下的 json 文件名,用来描述希望生成的路由
参数:
路由描述文件
[
{
"path": "/myPage",
"redirect": true
},
"/other-page",
{
"path": "/other-page/sub-page",
"redirect": true
},
"/other-page/more-page",
]
生成目录:
+ src -
...
+ pages -
+ myPage -
index.tsx // 路由
layout.tsx // 页面渲染
style.less // less文件
+ otherPage -
index.tsx
childNodes.tsx // 二级子路由描述文件
layout.tsx
style.less
+ morePage -
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
index.tsx // 总路由
childNodes.tsx // 一级子路由描述文件
输入命令
/path/my$ yo dc:agent /path/xxx
可用于生成 agent 模型,如:
/path/my$ yo dc:agent /pages/myPage
生成结构如下
+ src -
...
+ pages -
+ myPage -
index.tsx
layout.tsx
model.ts // agent-reducer 模型文件
style.less
type.ts // agent-reducer 模型类型文件
+ otherPage -
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
使用 --sharing 默认路径为 src/modules
/path/my$ yo dc:agent --sharing --name user
生成结构如下
+ src -
...
+ modules -
+ user - // 共享 agent-reducer 模型名
index.ts // 共享 agent-reducer 模型文件
type.ts // 共享 agent-reducer 模型类型文件
+ pages -
+ myPage -
index.tsx
layout.tsx
model.ts
style.less
type.ts
+ otherPage -
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
命令:dc:agent [?path]
path 起点根目录为 ./src
参数:
--sharing
参数且未指定生成路径时,会影响模型包的目录名,否则只会影响模型的类名,默认为 Module
。关于 agent-reducer 和 use-agent-reducer 使用方式请参考相关包文档。
输入命令
/path/my$ yo dc:test /path/xxx[?.ts|.tsx]
可用于生成指定路径目录或源码文件的测试脚本。
如:
/path/my$ yo dc:test /modules/user/index.ts
独立包配置结果:
+ src -
...
+ modules -
+ user -
index.ts
type.ts
+ pages -
+ myPage -
index.tsx
layout.tsx
model.ts
style.less
type.ts
+ otherPage -
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
+ test -
...
+ modules -
+ user -
index.test.ts // 测试脚本
附属包配置结果:
+ src -
...
+ modules -
+ user -
+ __test__ -
index.test.ts // 测试脚本
index.ts
type.ts
+ pages -
+ myPage -
index.tsx
layout.tsx
model.ts
style.less
type.ts
+ otherPage -
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
可输入包名,生成当前包文件测试脚本。
/path/my$ yo dc:test /pages/otherPage
独立包配置结果:
+ src -
...
+ modules -
+ user -
index.ts
type.ts
+ pages -
+ myPage -
index.tsx
layout.tsx
model.ts
style.less
type.ts
+ otherPage -
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
+ test -
...
+ modules -
+ user -
index.test.ts
+ pages -
+ otherPage -
index.test.tsx // 测试脚本
layout.test.tsx // 测试脚本
附属包配置结果:
+ src -
...
+ modules -
+ user -
+ __test__ -
index.test.ts
index.ts
type.ts
+ pages -
+ myPage -
index.tsx
layout.tsx
model.ts
style.less
type.ts
+ otherPage -
+ __test__ -
index.test.tsx // 测试脚本
layout.test.tsx // 测试脚本
index.tsx
layout.tsx
style.less
+ subPage -
index.tsx
layout.tsx
style.less
命令:dc:test [?path]
path 起点根目录为 ./src
参数:(无)
在配置结束后,允许重新配置部分选项,可通过该命令进行再配置
/path/my$ yo dc:setting
命令:dc:setting
参数:
FAQs
react 项目快速开发脚手架
The npm package generator-dc receives a total of 1 weekly downloads. As such, generator-dc popularity was classified as not popular.
We found that generator-dc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.