Angular 6执行ng serve时--locale等选项报错,如何设置这些参数?
解决Angular 6中
ng serve使用--locale等参数报错的问题 在Angular 6及以后的版本中,CLI的配置逻辑发生了明显变化——原来直接在命令行传递的--locale、--delete-output-path、--named-chunks这类参数,已经不再支持通过ng serve直接使用,而是需要统一配置到项目根目录的angular.json文件中。下面是具体的设置方案:
1. 配置自定义区域设置(Locale)
要启用自定义区域,需要先在angular.json中添加对应的构建配置,再通过启动命令指定使用该配置:
- 打开
angular.json,找到你的项目节点(通常和项目名称一致),定位到architect > build > configurations。 - 添加一个新的多语言配置项(比如针对西班牙语的
es),示例代码如下:"configurations": { "production": { // 保留原有生产环境配置 }, "es": { "i18nLocale": "es", "i18nFile": "src/locale/messages.es.xlf", // 你的翻译文件路径,按需调整 "i18nFormat": "xlf" } } - 接着在
architect > serve > configurations中添加对应的服务配置,关联上面的构建配置:"configurations": { "es": { "browserTarget": "your-project-name:build:es" } } - 最后通过以下命令启动对应语言的服务:
ng serve --configuration=es
如果只是临时测试区域设置,没有翻译文件,仅配置i18nLocale即可生效。
2. 设置delete-output-path
这个参数控制构建时是否自动删除输出目录,现在需要配置在angular.json的architect > build > options中:
"build": { "options": { "deleteOutputPath": true, // true为删除输出目录,false为保留 // 其他构建选项... } }
3. 设置named-chunks
该参数用于控制是否为打包后的chunk文件设置可读性名称,同样配置在architect > build > options中:
"build": { "options": { "namedChunks": true, // true启用命名chunk,false关闭 // 其他构建选项... } }
补充说明
Angular 6开始用angular.json替代了旧版的.angular-cli.json,所有构建、服务相关的配置都集中到这个文件中,目的是让配置结构更清晰、更便于维护。如果需要针对不同环境(开发、生产、多语言)做差异化配置,都可以通过添加configurations节点来实现。
内容的提问来源于stack exchange,提问作者Javier Marín
相关产品推荐
相关产品推荐

