angular - 将 stylelint 与 angular build 集成并使其因错误而失败?
问题描述
例如,我想stylelint
在角度应用程序中使用来强制类名(如果需要,它们应该是小写和破折号,而不是驼峰式或大写)。
如何配置stylelint
为在 Angular 构建时运行(就像 Angular 运行 TSLint)。或者 TSLint 可以强制执行样式规则吗?
建议是当我在规则中有错误时,stylelint
Angular 构建将失败。
解决方案
根据 stylelint 的文档,您可以将selector-class-pattern与 kebab-case 模式一起使用^([a-z][a-z]*)(-[a-z]+)*$
。此模式仅允许小写字母和这些字母之间的破折号。如果您还想允许数字,则可以将其^([a-z][a-z0-9]*)(-[a-z0-9]+)*$
与每个以字母开头的字母数字组一起使用。
如果需要,您还可以查看resolveNestedSelectors选项。selector-class-pattern
你可以stylelint-config.json
像这样在你的文件中使用它,
"selector-class-pattern": ["^([a-z][a-z]*)(-[a-z]+)*$", {
"resolveNestedSelectors": false
}
要不就,
"selector-class-pattern": "^([a-z][a-z]*)(-[a-z]+)*$"
我希望它有帮助:)
编辑:根据这篇文章,为了与角度构建集成,在你的 package.json 中,你可以让你的脚本看起来像这样:
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "npm run lint && ng build",
"test": "ng test",
"lint": "ng lint && npm run lint:styles",
"lint:styles": "stylelint \"apps/**/*.scss\" && stylelint \"libs/**/*.scss\"",
"e2e": "ng e2e"
},
推荐阅读
- c++ - 将数据存储为“60 * 60 * 24”还是 86400 更好
- c# - 我应该处理 IServiceProvider 提供的瞬态对象还是垃圾收集器处理它?
- c# - 按住按钮以继续串行发送变量
- python - 如何跳过输入并生成错误代码?
- emacs - 无法使用 Lualatex 在 AUCTeX 下预览
- node.js - 使用 cli 命令在打包的电子应用程序中使用 node_modules
- javascript - 将表单信息发送到服务器的最佳实践
- java - Vera 代码报告中的加密算法违规
- java - 如何生成 Java PKCS12 存储以连接到常规 SSL 网站?
- windows - 让我保持登录功能如何在 Windows/桌面应用程序中工作