# 网站
* [指令](https://developers.cloudflare.com/workers/tooling/wrangler/sites/#commands)
* [牧马人](https://developers.cloudflare.com/workers/tooling/wrangler/sites/#wrangler-toml)
* [储存限制](https://developers.cloudflare.com/workers/tooling/wrangler/sites/#storage-limits)
* [忽略静态资产的子集](https://developers.cloudflare.com/workers/tooling/wrangler/sites/#ignoring-subsets-of-static-assets)
工人站点需要最新版本的[牧马](https://github.com/cloudflare/wrangler)人和工人[无限计划](https://workers.cloudflare.com/sites#plans)。
### 指令
* **`wrangler generate proj --site`**:创建一个带有工作程序的项目,该工作程序提供通用HTML文件,并使用目录结构提供收藏夹图标:
~~~
├── public # files to serve
| ├── favicon.ico
| └── index.html
├── workers-site
| ├── index.js # Workers script that serves the assets
| ├── package-lock.json
| └── package.json # defines dependencies used by Workers script
└── wrangler.toml
~~~
自动填充`wrangler.toml`用`entry-point`(默认`workers-site`)和`bucket`(默认`public`)。
* **`wrangler init proj --site`**:创建`wrangler.toml`和`workers-site`文件夹。您需要`bucket`根据要提供的文件夹的本地路径添加一个值。
### 牧马人
您的中有一些用于“工作者站点”的特定配置设置`wrangler.toml`:
| 键 | 值 | 例 | 需要 |
| --- | --- | --- | --- |
| `bucket` | 包含您的静态资产的目录,相对于您的路径`wrangler.toml` | `bucket = "./public"` | 是 |
| `entry-point` | 您的工作者脚本的位置,默认为`workers-site` | `entry-point = "./workers-site"` | 没有 |
| `include` | `bucket`专门要上载的文件或目录的gitignore样式模式的列表。 | `include = ["upload_dir"]` | 没有 |
| `exclude` | `bucket`要从上传中排除的文件或目录的gitignore样式模式列表。 | `exclude = ["ignore_dir"]` | 没有 |
要了解有关可选字段`include`和`exclude`字段的更多信息,请访问[忽略静态资产的子集](https://developers.cloudflare.com/workers/tooling/wrangler/sites/#ignoring-subsets-of-static-assets)。
*注意:如果您的项目使用[环境](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments),请确保将其放置`site`在顶层配置中。*
的示例`wrangler.toml`:
~~~toml
account_id = "95e..."
name = "docs-site-blah"
type = "webpack"
workers_dev = false
[site]
bucket = "./public"
entry-point = "workers-site"
[env.production]
name = "docs-site"
route = "https://example.com/docs*"
zone_id = "351c.."
account_id = "b54f07a.."
[env.staging]
zone_id = "ef47a..."
account_id = "95e5d..."
name = "docs-site-staging"
route = "https://staging.example.com/docs*"
~~~
### 储存限制
对于非常大的页面,Workers Sites可能不适合您。每个页面或文件限制为10MB。
### 忽略静态资产的子集
工人站点要求[牧马人](https://github.com/cloudflare/wrangler)\-确保使用[最新版本](https://developers.cloudflare.com/workers/quickstart/#updating-the-cli)\-以及工人[无限计划](https://workers.cloudflare.com/sites#plans)。
在某些情况下,用户可能不希望将某些静态资产上载到其工作人员站点。在这种情况下,也可以使用类似于[Cargo可选的include和exclude字段的](https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields-optional)逻辑,将Workers Sites配置为忽略某些文件或目录。这意味着我们在声明要在上载中包括或忽略的目录条目时使用gitignore语义。
#### 独家包括文件/目录
如果您只想在其中包含一组文件或目录`bucket`,则可以`include`在以下`[site]`部分中添加一个字段`wrangler.toml`:
~~~toml
[site]
bucket = "./public"
entry-point = "workers-site"
include = ["included_dir"] # must be an array.
~~~
牧马人将仅上传与`include`阵列中的模式匹配的文件或目录。
#### 排除文件/目录
如果要在中排除文件或目录`bucket`,则可以`exclude`在以下`[site]`部分中添加一个字段`wrangler.toml`:
~~~toml
[site]
bucket = "./public"
entry-point = "workers-site"
exclude = ["excluded_dir"] # must be an array.
~~~
将`exclude`资产上传到Workers KV时,Wrangler将忽略与阵列中的模式匹配的文件或目录。
#### 包含>排除
如果同时提供`include`和`exclude`字段,`include`则将使用该`exclude`字段,而该字段将被忽略。
#### 默认忽略的条目
牧马人总是会忽略:
* `node_modules`
* 隐藏的文件和目录
* 符号链接
##### 有关包含/排除模式的更多信息
您可以在[gitignore文档中](https://git-scm.com/docs/gitignore)了解有关用于包含和排除的标准模式的[更多信息](https://git-scm.com/docs/gitignore)。
- 关于本翻译文档
- 快速开始
- 模版库
- 讲解
- Workers页面
- 从0开始
- 从已有页面开始
- 从已有Worder开始
- 工具
- Cli工具 wrangler
- 安装
- 指令
- 配置
- 环境
- Webpack
- 密钥
- KV
- 网站
- Playground
- ServerLess插件
- Terraform
- REST API
- Making Requests
- Scripts
- Bindings
- Routes
- Integrations
- 相关
- 工作原理
- 安全
- 使用缓存
- 价格
- Routes
- Limits
- 提示
- 调试技巧
- 调试header
- FetchEvent生命周期
- 请求上下文
- 请求sign
- 参考
- runtime API
- Web Standards
- fetch
- fetchEvent
- Response
- Request
- KV
- Environment Variables
- Streams
- Encoding
- Web Crypto
- Cache API
- HTMLRewriter
- Workers KV
- Use cases
- Namespaces