服务
npm run serve [args]
| 参数 | 数值 | 默认 |
|---|---|---|
| --env 数据 | 字符串 | 当地 |
| 项目 | 字符串 | 第一个工程在 angular.json 中 |
| --端口 | 编号 | 软件包.json = 配置 = 端口 |
| -- 主机 | 字符串 | 项目的角.json 服务 选择 东道主,其他 <package name>.local.firestitch.com |
| -- 安全 | 布尔 | 虚假 |
| -- live- 重载 | 布尔 | 虚假 |
构建
npm run build [args]
| 参数 | 数值 | 默认 |
|---|---|---|
| --env 数据 | 字符串 | 备忘 |
软件包
npm run package [args]
| 参数 | 数值 | 默认 |
|---|---|---|
| --env 数据 | 字符串 | 生产 |
| 包括 | 逗号分隔路径 | 替换基数集 frontend/dist,backend,framework,maintenance |
| 包含 | 逗号分隔路径 | 在基数组之上添加额外值 |
| -- 预建 | JS 文件或 shell 命令 | 在构建前运行 |
| --后营建 | JS 文件或 shell 命令 | 运行在建设之后, 在拉链之前 |
| --版本 | 当前、补丁、次要、主要或x.y.z | 该版本,不包含提示 |
--version=current 软件包已装入软件包
由同名 repo 所建的应用程序带有与第一个版本相同的版本. 重新包装于
同一版本没有承诺、推动和标记:
"package:client": "npx package --project=client --version=current --include=frontend/dist"
把旗子放入剧本本身. npm run package --version=… 把它交给npm,
用于打印自己的版本.
版本是先选的,在建成成功之前,什么都不写,所以 失败的构建使工作树未受影响 :
native level check → select version → ng build → write package.json → --postBuild → zip → commit, push, tag
钩子
--preBuild 财务报告和审定财务报表 --postBuild 每一个 无论是 jS文件的路径,即
require()d , (单位:千美元), 或者说 弹壳命令 :
npx package --postBuild="cd mcp && npm run sync-version && npm publish"
npx build --preBuild=./scripts/generate-icons.js
没有空格的空路被视为文件; 其它的都会被当作文件运行
命令 (node build.js 是命令,不是文件。 退出的外壳钩子
非零中止运行; JS 钩子不能失败运行,因为 require()
返回任何要检查的内容.
| 钩子 | 何时 |
|---|---|
| -- 预建 | 在此之前 ng build |
| --后营建 | 之后 ng build ——在套件运行中,在版本被写入后,在拉链与承诺之前 |
在一个 package 运行 --postBuild 被推迟到新版本生效
package.json,并运行于实例目录(其父目录 frontend(中文(简体) )
该版本在 $VERSION。这是侧车包可以
使用应用软件的版本并发布自己 —— 足够早,它的版本凸起是
被拉入这栋大楼 并被卷入同样的承诺和标签 与它的应用
早早的 以失败阻止释放
犯罪或被标记.
土著一级
npx native-level [args]
| 参数 | 数值 | 默认 |
|---|---|---|
| 项目 | 字符串 | 第一个工程在 angular.json 中 |
A Capacitor app 的网络构建载具 src/assets/native.json。电话安装
空外的网络捆绑只有在捆绑的时候 level 不高于级别
它的存储架构被运出, 所以需要新本地插件的网络代码永远不会
到达一个二进制没有它。 只有在水平上升时才有用
本地插件更改, 所以 build 财务报告和审定财务报表 package 拒绝逃跑直到它成功.
原生. json 记录原生插件的级别被提高为:
{
"level": 2,
"plugins": {
"@capacitor/android": "6.0.0",
"@capacitor/app": "6.0.2",
"@capacitor/ios": "6.0.0",
"capacitor-local-plugin": "1.0.0+3f9a0c27b1d4"
}
}
- 应用程序根 是项目源头或上方最近的目录
持有
capacitor.config.ts, (中文(简体) ),.js或者说.json- 在哪个地方npx cap sync运行. - 本地插件 在应用程序根的依赖性
package.json个人package.json- 安装在应用根的node_modules或任何父母的.. 有一个capacitor或者说cordova键,加上运行时间@capacitor/ios财务报告和审定财务报表@capacitor/android,这些名称是本地的,不需要安装副本. - 其价值 是应用程序根的版本
package-lock.json针:什么npm ci安装在那里之前npx cap sync构建商店二进制 。 写着 在开发商的机器上和在CI代理上都是一样的,它只安装 app root上方的工作空间,其副本可以是其他版本. 没有 在app root中锁定文件,所安装的版本则被录入. - A 类
file:插件原生源的更改不改变版本,所以 它记录自己的package.json版本加a的前12个正数 SHA -256号机package.json词根*.podspec, (中文(简体) ),ios/财务报告和审定财务报表android/—— 说 构建产出( e)node_modules, (中文(简体) ),build, (中文(简体) ),.gradle, (中文(简体) ),Pods, (中文(简体) ),dist跳过和 行尾读作LF,因此Windows和Linux同意.
开始时 npx build 财务报告和审定财务报表 npx package 在项目之前
已建或请求版本 :
| 土生土长. json | 发生什么事 |
|---|---|
没有 plugins 现在 | 插件被记录在当前关卡中; 承诺本地. json |
plugins 匹配 | 无 |
plugins 差异 | ,将每个插件添加、删除或更改 |
一个被拒绝的运行名 :
npx native-level --project=client
它将关卡提高一个,记录插件,并打印旧和 随着插件的更改而新建关卡。 将移动的更改提交本地.json 插件; 手机仅在商店上使用所建的网络代码 新建关卡.
应用程序根的本地依赖缺失 package-lock.json 运行失败 :
运行 npm install 在应用根中更新它。 一个叫
包含 capacitor 或者说 cordova 但是没有安装,因为什么也没有说
是否为本地软件:先安装软件包.
没有的项目 src/assets/native.json或者上面没有电容
未检查.
内部
四、建 议 ——每个文件都做什么,包订购
限制和陷阱 package.json, (中文(简体) ), process.exit 关于失败,
除非订阅,否则从不运行的可观测数据).
SSL 服务器
npx ssl [command]
| 命令 | 说明 |
|---|---|
| 资讯 | 显示证书主机、 过期以及 CA 是否可信( 默认) |
| 信托 | 将开发根 CA 安装到此机器的信托商店 |
| 不信任 | 再来一次 |
| 重新发行 | 只重发证书, 例如编辑其主机名后 。 无需重新信任 |
| 生成 | 重新发布 CA 财务报告和审定财务报表 证书。 强制每个开发者重运行 trust |
serve --secure 用途 ssl/localhost.crt报告 Firestitch 开发根 CA
且对 localhost, (中文(简体) ), local.firestitch.com 财务报告和审定财务报表 *.local.firestitch.com。 。 。 .
它故意没有IP地址。 BoringSSL (在 Bun 的 TLS 堆栈, 在 Claude 的等)
代码)无法对照 CA 的名称限制检查一个 IP 条目并拒绝整个
证书为 unsupported name constraint type,即使通过主机名连接。 使用
https://localhost没有 https://127.0.0.1。 。 。 .
浏览器只信任一个证书,其签发者在机器的信托商店,所以每个
开发者运行 npx ssl trust 每台机器一次 以获取一个挂锁而不是
"你的连接不是私人的" 中断。 Windows 将显示一次性安全
确认;接受。 随后重新启动浏览器 .
Chrome, Edge和Firefox 都从 Windows 商店取取 CA —— Firefox 启用
security.enterprise_roots.enabled 默认的。 在macOS和Linux上,Firefox使用它
改为自有商店, 因此导入 ssl/ca.crt 设置 → 隐私和安全 → 证书.
Firefox 验证证书比 Chrome 严格得多, 因为此证书
名称限制它解析 每个 主题替代名称,而不仅仅是它的名称
正在匹配。 因此,一个条目Firefox不喜欢拒绝整个证书
SEC_ERROR_BAD_DER 每个主机。 保持主机名列表保守, 在更改后
运行 npx ssl reissue 检查Firefox的结果 不只是Chrome.
CA私人密钥船在这批货中公开,这是可以接受的,因为CA 携带一个关键 名称限制 扩展将其限制在以上主机。 一个机器 相信此根仍然拒绝它为任何其他域签发的证书,所以 键不能用来拦截真实流量。 永远不要在开发之外再利用它.
证书于2036年到期,CA于2046年到期. 要重发, 运行 npx ssl generate —— 说
更改 CA 表示每个开发者必须重新运行 npx ssl trust,因此倾向于添加主机名
下级 *.local.firestitch.com (由现有证书覆盖)取而代之.