Angular 15升级后高版本svg-to-ts命令未识别问题求助
Angular 15升级后svg-to-ts高版本报错:'svg-to-ts' 未识别为命令
问题场景
将Angular从10升级到15后,svg-to-ts包在版本8或最新版10时执行npm run generate-icons会报错:
'svg-to-ts' is not recognized as an internal or external command,
operable program or batch file.
回退到svg-to-ts@5时可正常运行,当前package.json配置如下:
"scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", "generate-icons": "svg-to-ts" }, "svg-to-ts": { "generateType": "false", "delimiter": "KEBAB", "conversionType": "files", "iconsFolderName": "icons", "prefix": "app", "srcFiles": [ "./src/assets/images/Svg/*.svg" ], "outputDirectory": "./src/assets/images/Svg", "svgoConfig": { "plugins": [ { "removeDimensions": true }, { "cleanupAttrs": true } ] } }
解决方案
确保本地安装svg-to-ts
全局安装的包可能和Angular 15的Node环境不兼容,执行本地安装命令:npm install svg-to-ts@latest --save-dev修改npm脚本,明确调用本地命令
把脚本中的svg-to-ts替换为npx svg-to-ts,或者直接指定本地路径:"generate-icons": "npx svg-to-ts"或者:
"generate-icons": "./node_modules/.bin/svg-to-ts"检查Node.js版本兼容性
Angular 15要求Node.js 16.10+,svg-to-ts高版本可能依赖更高的Node版本,确认你的Node版本符合要求(建议v16.x或v18.x)。修正配置项格式
高版本svg-to-ts中generateType要求是布尔值而非字符串,将配置中的"generateType": "false"改为:"generateType": false
内容的提问来源于stack exchange,提问作者neca
相关产品推荐
相关产品推荐

