
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
这个包为tua提供了一些方便的命令,可以用于一键生成项目、创建页面、创建组件、创建 api 等功能。
$ npm i -g tua
# OR
$ yarn global add tua
init
这个命令从用户输入的模版地址拉取项目模版,替换package.json中的项目相关信息
$ tua init <project-name>
add api
这个命令将添加一个新文件 <name>.js
到 src/apis/
下,并且如果不存在 src/apis/index.js
则会自动创建。
# 添加 api
$ tua add api <name>
# OR
$ tua a api <name>
该命令会自动在 src/apis/index.js
中导出该 api
,例如 <name>
为 foo-bar
,那么导出的接口名称为 fooBarApi
(已转成小驼峰,并在结尾加上 Api
)。
add page
这个命令将添加一个新文件夹 <name>
到 src/pages/
下,
并且如果页面以连字符命名,那么相关的 .vue
文件会被转成大驼峰风格。
└─ pages
├─ ...
└─ a-b // 连字符
├─ AB.vue // 大驼峰
└─ index.js
options包含: --wx -w 是否是小程序 --ssr -s 是否支持同构渲染
# 添加简单页面 page
$ tua add page <name>
# OR
$ tua a page <name>
# 添加支持同构的页面 page
$ tua add page <name> --ssr
# OR
$ tua a page <name> -s
# 添加小程序端 page
$ tua add page <name> --wx
# OR
$ tua a page <name> -w
在小程序端,该命令会自动读取 src/app/app.json
中的 pages
字段,并将新页面加入。
add comp
由于组件一般分为两种:
src/comps/
下)src/pages/foo-bar/comps/
下)所以这个命令有两种用法,添加可选的 -g, --global
参数表示添加全局组件,将添加一个新文件夹 <name>
到 src/comps/
下,否则会进行交互式询问模板文件夹的路径。
组件建议都使用大驼峰命名风格
options包含: --wx -w 是否是小程序 --ssr -s 是否支持同构渲染 --global -g 是否添加全局组件
└─ comps
├─ ...
└─ TuaImage.vue // 大驼峰
$ tua add comp <name> --global
# OR
$ tua a comp <name> -g
$ tua add comp <name>
# OR
$ tua a comp <name>
$ tua add comp <name> --global --ssr
# OR
$ tua a comp <name> -g -s
$ tua add comp <name> --ssr
# OR
$ tua a comp <name> -s
└─ comps
├─ ...
└─ TuaImage // 大驼峰
├─ TuaImage.vue // 大驼峰
└─ index.js
$ tua add comp <name> --global --wx
# OR
$ tua a comp <name> -g -w
$ tua add comp <name> --wx
# OR
$ tua a comp <name> -w
注意使用
<Tab>
键补全路径,输入不存在的文件夹时会自动创建。
eject
这个命令将包中的默认模板导出到当前项目的 .templates/
中。
这样通过修改.templates/
下的模板文件,即可实现自定义模板功能。
$ tua eject
# OR
$ tua e
declare
这个命令将读取导出的 apis 然后自动生成 index.d.ts
。
$ tua declare [apisPath]
# OR
$ tua dc [apisPath]
apisPath
默认值为 src/apis/index.js
index.d.ts
将生成在 apisPath
同级目录下在 index.d.ts
已存在的情况下,默认会提示是否覆盖,每次都要手动确认有点儿不方便。所以添加了一个参数 --yes, -y
,表示默认覆盖文件。
$ tua declare --yes [apisPath]
# OR
$ tua dc -y [apisPath]
由于使用 require
读取导出 apis 对象的文件,所以可能会碰到 alias
问题。例如项目中设置了 @
作为 ./src/
的别名。虽然 @tua/cli
已内置了一些 alias
,但你仍然可以自由配置。
在 .tuarc
中的 alias
选项会透传给 babel-plugin-module-resolver,例如将 foobar
指向 './src/foobar' 可以这么配置:
// .tuarc
module.exports = {
alias: {
'foobar': './src/foobar',
},
}
String
.templates
自定义模板的路径。
Object
设置路径别名对象。
读取模板的优先级逻辑是:
.tuarc
中的 templateDir
字段.templates/
FAQs
tuax 脚手架
We found that @tuax/cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers 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
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.