问题描述
我正在尝试更新包含500多个模块的生产项目,我们当然需要此工具才能使其正常工作,因为手动操作将是一场噩梦。我整个下午都在尝试使其工作,甚至复制并粘贴您的导入示例,但没有成功。
在整个项目中,我们的进口如下:
import {
NzTableModule,NzCheckboxModule,NzInputModule,NzFormModule,NzSelectModule,NzDrawerModule,NzDividerModule,NzToolTipModule,NzDatePickerModule,} from 'ng-zorro-antd';
我正在使用以下配置:
{
"rulesDirectory": [
"nz-tslint-rules"
],"rules": {
"nz-secondary-entry-imports": true
}
}
package.json:
“ ng-zorro-antd”:“ ^ 9.3.0”, “ typescript”:“〜3.8.3”, “ nz-tslint-rules”:“ ^ 0.901.2”, “ @ angular / core”:“〜9.1.12”,
我正在从应用程序根目录执行以下命令: “ tslint --project。”
我已经设法通过nzSecondaryEntryImportsRule.js文件中的控制台日志来确保脚本执行
我还注意到:
tsutils.isImportDeclaration(节点) 始终返回false,因此它将继续for循环中的下一个迭代
希望对此有所帮助。
解决方法
我猜是因为全局版本太低。
这是三种解决方案:
- 升级您的全局tslint
npm install tslint -g
- 将命令添加到package.json中的脚本中,然后使用
npm run lint:fix
{
"scripts": {
"lint:fix": "tslint --project tsconfig.json --fix"
}
}
- 从node_modules / .bin / tslint运行
node_modules/.bin/tslint --project tsconfig.json --fix