【问题标题】:TS2304: Cannot find name 'require'TS2304:找不到名称“要求”
【发布时间】: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

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

【问题讨论】:

标签: javascript json node.js typescript webpack


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-06-29
    • 2019-04-21
    • 1970-01-01
    • 2022-01-20
    • 2017-08-11
    • 2017-08-23
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    相关资源
    最近更新 更多