首页
/ MagicMirror项目配置指南:深入解析config.js.sample文件

MagicMirror项目配置指南:深入解析config.js.sample文件

2025-07-05 06:44:19作者:戚魁泉Nursing

前言

MagicMirror是一个开源的模块化智能镜面系统,允许用户通过简单的配置创建个性化的智能显示界面。作为项目的核心配置文件,config.js.sample提供了系统运行所需的所有基础设置。本文将深入解析这个配置文件的结构和各项参数,帮助开发者更好地定制自己的MagicMirror系统。

基础网络配置

监听地址与端口

address: "localhost",
port: 8080,
  • address:定义了服务器监听的网络地址,支持多种格式:
    • "localhost"、"127.0.0.1"或"::1"表示仅监听本地回环接口
    • 特定IPv4/IPv6地址用于监听特定网络接口
    • "0.0.0.0"或"::"表示监听所有可用接口
  • port:设置服务运行的端口号,默认为8080

路径与访问控制

basePath: "/",
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],
  • basePath:设置MagicMirror的基本URL路径,当使用反向代理时需要特别注意
  • ipWhitelist:IP白名单机制,可设置允许访问的IP地址范围,支持CIDR格式

安全与协议配置

useHttps: false,
httpsKeyFile: "",
httpsCertFile: "",
  • useHttps:启用HTTPS协议支持
  • httpsKeyFilehttpsCertFile:分别指定密钥和证书的路径,仅在启用HTTPS时需要配置

区域与显示设置

language: "en",
locale: "en-US",
timeFormat: 24,
units: "metric",
  • languagelocale:设置系统语言和区域,影响日期、时间等显示格式
  • timeFormat:时间显示格式,12或24小时制
  • units:单位系统,metric(公制)或imperial(英制)

日志级别

logLevel: ["INFO", "LOG", "WARN", "ERROR"],

日志级别控制台输出的详细程度,可添加"DEBUG"获取更详细的调试信息。

模块系统配置

MagicMirror的核心特性是其模块化架构,config.js.sample中预置了几个常用模块的配置示例:

1. 基础功能模块

{
	module: "alert",
},
{
	module: "updatenotification",
	position: "top_bar"
},
  • alert:系统警告模块
  • updatenotification:更新通知模块,显示在顶部栏

2. 时钟与日历

{
	module: "clock",
	position: "top_left"
},
{
	module: "calendar",
	header: "US Holidays",
	position: "top_left",
	config: {
		calendars: [
			{
				fetchInterval: 7 * 24 * 60 * 60 * 1000,
				symbol: "calendar-check",
				url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
			}
		]
	}
},
  • clock:时钟模块,支持多种显示格式
  • calendar:日历模块,支持iCal格式的日历订阅

3. 天气模块

{
	module: "weather",
	position: "top_right",
	config: {
		weatherProvider: "openmeteo",
		type: "current",
		lat: 40.776676,
		lon: -73.971321
	}
},
{
	module: "weather",
	position: "top_right",
	header: "Weather Forecast",
	config: {
		weatherProvider: "openmeteo",
		type: "forecast",
		lat: 40.776676,
		lon: -73.971321
	}
},

天气模块支持多种天气数据提供商,可配置当前位置的经纬度获取精确天气信息。

4. 新闻订阅

{
	module: "newsfeed",
	position: "bottom_bar",
	config: {
		feeds: [
			{
				title: "New York Times",
				url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
			}
		],
		showSourceTitle: true,
		showPublishDate: true,
		broadcastNewsFeeds: true,
		broadcastNewsUpdates: true
	}
},

新闻订阅模块支持RSS源,可配置多个新闻源并控制显示选项。

配置技巧与最佳实践

  1. 模块位置控制:通过position属性可精确控制模块在镜面中的显示位置
  2. 多实例配置:同类型模块可以配置多个实例(如天气模块的当前天气和预报)
  3. 个性化定制:每个模块都支持丰富的配置选项,可根据需求深度定制
  4. 安全考虑:生产环境中应合理配置ipWhitelist限制访问来源

结语

MagicMirror的配置文件设计既灵活又强大,通过简单的JSON格式即可实现复杂的功能组合。理解config.js.sample文件的结构和参数含义,是定制个性化智能镜面的第一步。随着对系统了解的深入,开发者可以进一步探索第三方模块的集成,打造真正属于自己的智能显示系统。