
PCIC Climate Explorer 前端镜像是PCIC Climate Explorer的前端界面实现,基于Node.js、React.js、Webpack、Babel等现代前端技术栈(ES6+)构建。该镜像提供气候数据的可视化与探索界面,通过配置环境变量可连接后端气候数据服务、地图瓦片服务等,支持开发和生产环境部署。
环境变量配置
前端配置通过环境变量实现,关键变量如下:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| NODE_ENV | 环境类型,设为"production"启用生产构建优化 | "development" |
| CE_BACKEND_URL | 后端气候数据的公开可访问URL | 开发:http://localhost:8000/api 生产:[***] |
| TILECACHE_URL | 基础地图图层的Tilecache URL | [***] |
| NCWMS_URL | 气候图层的ncWMS URL | [***] |
| CE_ENSEMBLE_NAME | 后端请求使用的集合名称 | "ce" |
| CE_BASE_PATH | 前端应用的URL基础路径(用于代理服务器配置) | 无默认值,生产环境需指定(如"/marmot/app") |
Docker部署
构建Docker镜像
克隆代码仓库:
bashgit clone https://github.com/pacificclimate/climate-explorer-frontend cd climate-explorer-frontend
构建镜像:
bashdocker build -t pcic/climate-explorer-frontend-image .
运行Docker镜像
运行时需设置以下环境变量(生产环境必须配置):
bashdocker run --restart=unless-stopped -d \ -p <外部端口>:8080 \ -e NODE_ENV=production \ -e CE_BACKEND_URL=https://services.pacificclimate.org/marmot/api \ -e CE_ENSEMBLE_NAME=ce \ -e NCWMS_URL=https://services.pacificclimate.org/marmot/ncwms \ -e TILECACHE_URL=https://tiles.pacificclimate.org/tilecache/tilecache.py \ -e CE_BASE_PATH=/marmot/app \ --name climate-explorer-frontend \ pcic/climate-explorer-frontend:latest
说明:
NODE_ENV设为"production"启用生产模式;CE_BACKEND_URL为后端API基础URL;CE_BASE_PATH需与代理服务器配置的路径一致。
开发环境设置
依赖安装与启动
bash# 安装依赖 npm install # 启动开发服务器(带热模块替换) npm start
测试
bash# 运行单元测试 npm test
代码检查(Linting)
使用ESLint(基于AirBnb预设)进行代码检查:
bash# 检查所有文件 npm run lint # 检查指定文件或匹配模式 npm run lint:glob <文件名或glob模式>
可通过git/hooks/pre-commit-eslint钩子在提交前检查 staged 的.js文件(仅阻止错误,警告允许),安装至.git/hooks目录即可启用。如需跳过检查,可使用git commit --no-verify(不推荐)。
版本发布步骤:
package.json中的version字段NEWS.md中总结自上次版本的变更bashgit add package.json NEWS.md git commit -m"Bump to version x.x.x" git tag -a -m"x.x.x" x.x.x git push --follow-tags
代码风格遵循ESLint配置,主要基于AirBnb预设。常见需注意的规则(按违规频率排序):
// 注释...而非//comment...)if和for与左括号间需加空格(if (cond)而非if(cond))const或let声明变量(优先const),避免var(const和let具有块级作用域)
for (const prop in obj),遍历可迭代对象使用for (const val of iterable),计数循环使用for (let i = 1; i < n; i++)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务