安装Surge
安装Surge,你可以使用npm或者包管理器:
使用npm
npm install -g surge
使用包管理器(需要权限)
sudo npm install -g surge
初始化Surge
运行以下命令生成初始配置文件config.json:
surge init
这会创建一个config.json如下:
{
"surge": {
"version": 3,
"config": {
"branch": "main",
"external": true,
"keep": ["*.ico"],
"redirect": {
"/": "index.html"
},
"static": "dist",
"publicUrl": "https://yourdomain.com",
"dist": "dist",
"headers": {
"X-Frame-Options": "DENY"
}
}
}
}
配置config.json
根据你的需求修改config.json中的字段:
external: 如果你需要外部访问,设置为true。keep: 保留特定文件,不要删除。redirect: 重定向路径,例如将重定向到index.html。static: 静态文件目录,默认为dist。publicUrl: 自定义域名或路径,例如https://yourdomain.com。dist: 生成后的文件目录,默认为dist。headers: 设置响应头,例如防止点击劫持。
设置静态服务器
如果使用如Express的静态服务器:
{
"surge": {
"static": "dist",
"base": ["app"],
"routes": ["routes/*.html"],
"middleware": ["middleware/*"]
}
}
部署策略
设置发布策略:
{
"surge": {
"deploy": {
"continuous": true,
"on": "git commit",
"command": "git push surge master"
}
}
}
发布
运行以下命令发布到Surge:
surge push config.json
高级配置
- 多站点部署:在
config.json中添加domains和externalDomains。 - 缓存设置:在
config.json中添加cache,设置过期时间。 - 启用Gzip:在
config.json中添加gzip选项。
故障排除
- 权限问题:使用
sudo或检查文件权限。 - 域名错误:确保
publicUrl正确无误。 - 防火墙设置:确保相关端口开放。
使用命令行工具
- 查看部署列表:
surge ls - 启动本地服务器:
surge serve - 获取文件:
surge get
通过以上步骤,你可以成功配置并使用Surge服务器,根据需要进行调整以满足你的开发需求。









