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