TS2304:找不到名称“要求”

Posted

技术标签:

【中文标题】TS2304:找不到名称“要求”【英文标题】:TS2304: Cannot find name 'require' 【发布时间】:2017-11-03 15:03:48 【问题描述】:

由于以下错误,Webpack(特别是 awesome-typescript-loader)无法构建我的应用程序:

ERROR in [at-loader] ./src/app/app.ts:6:13
   TS2304: Cannot find name 'require'.

相关代码:

@Component(
  name: 'App',
  template: require('./app.template.pug') <---
)
export class AppComponent extends Vue 


有一个类似的问题here 描述了完全相同的错误,我尝试了答案中提到的各种解决方案,但没有成功:

1。类型安装在package.json

"devDependencies": 
  " @types/node": "^7.0.22"
  ...

2。 awesome-typescript-loader 知道我的tsconfig.json

loader: 'awesome-typescript-loader',
options: 
  configFileName: 'tsconfig.json',
  useCache: config.build.useCaching

3。 Types 以及 type roots 已在 tsconfig.json 中声明

"typeRoots": [
  "node_modules/@types"
],
"types": [
  "node",
  "webpack"
],

4。我的自定义类型包括节点的定义

declare module '*';
declare var require: any

还有什么我可以尝试的吗?

【问题讨论】:

***.com/a/43129815/2106820 【参考方案1】:

我已经通过添加一个新的webpack.d.ts 并添加以下内容来解决这个问题..

        declare var require: (filename: string) => any;

【讨论】:

以上是关于TS2304:找不到名称“要求”的主要内容,如果未能解决你的问题,请参考以下文章

TS2304:找不到名称要求和处理

TS2304:找不到名称“FormGroup”

接收TS2304:找不到名称'文件'| TS2304:运行“npm run tsc”命令时找不到名称“ReadableStream”

ts2304 找不到名称“OnInit”

错误 TS2304:找不到名称“承诺”

错误 TS2304:找不到名称“发电机”