Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何将webpack require与'一起使用;没有任何';特斯林规则?_Typescript_Webpack_Tslint_Ionic4 - Fatal编程技术网

Typescript 如何将webpack require与'一起使用;没有任何';特斯林规则?

Typescript 如何将webpack require与'一起使用;没有任何';特斯林规则?,typescript,webpack,tslint,ionic4,Typescript,Webpack,Tslint,Ionic4,我使用ionic生成了一个ionic 4项目:ionic开始应用程序侧菜单--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 t

我使用ionic生成了一个ionic 4项目:
ionic开始应用程序侧菜单--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
中查找它。 然而,我找不到它被声明


如何解决此问题?

require
是CommonJS(CJS)模块系统的一部分。可以在
@types/node
@types/webpack env
包中找到
require
的打字。从npm安装其中一个:

npm install --save-dev @types/node

也许这就是你想要的?嗯。。。该函数未提供
context
函数,该函数在此行
const context=require.context('./',true,/\.spec\.ts$/)中调用,它仍然是正确的吗?啊,我必须自己定义这个函数吗?您可能需要设置确切的类型,而不是任何。。类似linkI的东西为该函数创建了一个似乎有效的定义,这是它的要点。这就是方法吗?安装
@types/node
@types/webpack env
满足tslint,但在执行测试时,我在src/test.ts(17,25)中得到
错误:错误TS2339:类型“NodeRequire”上不存在属性“context”。
类型的
webpack env
似乎有
context
函数的定义,因此我还尝试了从“webpack env”导入
require
但这给了我一系列错误:
找不到模块:错误:无法解析
中的“fs”。我在这里做错什么了吗?好吧,我让它工作了,我必须从“webpack env”导入需求
声明const require:requireunction,谢谢!