我用离子产生离子4项目:ionic start app sidemenu --type=angular
。
我现在想使起毛规则更严格,并介绍'no-any'
。
但不幸的是,棉绒失败了。
它给了我
$ ng lint app
Linting "app"...
ERROR: ./src/test.ts[10, 24]: Type declaration of 'any' loses type-safety. Consider replacing it with a more precise type.
Lint errors found in the listed files.
问题是这一行:
declare const require: any;
此文件:
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/zone-testing';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
declare const require: any;
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);
我怀疑require
由webpack提供。
如果我理解正确,则应在@types/webpack/index.d.ts
中声明它,并且必须从webpack
中将其包括进来,后者将依次在@types
中进行查找。
但是,我找不到它被声明为there
如何解决此问题?
答案 0 :(得分:2)
require
是CommonJS(CJS)模块系统的一部分。在require
或@types/node
包中可以找到@types/webpack-env
的键入。从npm安装其中之一:
npm install --save-dev @types/node