Angular 角度2.0.0-beta.15&;网页:";找不到名称';需要'&引用;

Angular 角度2.0.0-beta.15&;网页:";找不到名称';需要'&引用;,angular,typescript,webpack,Angular,Typescript,Webpack,我最近将基于网页包的Angular 2应用程序从2.0.0-beta.2升级到2.0.0-beta.15。我在编译时收到了很多错误,其中很多错误都是通过添加以下行解决的: /// <reference path="../node_modules/angular2/typings/browser.d.ts" /> TypeScript加载程序使用的是编译器的1.8.10版,我的tsconfig.json如下所示: { "compilerOptions": { "targe

我最近将基于网页包的Angular 2应用程序从2.0.0-beta.2升级到2.0.0-beta.15。我在编译时收到了很多错误,其中很多错误都是通过添加以下行解决的:

/// <reference path="../node_modules/angular2/typings/browser.d.ts" />
TypeScript加载程序使用的是编译器的1.8.10版,我的tsconfig.json如下所示:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "noEmitHelpers": false,
    "sourceMap": true,
    "moduleResolution": "node"
  },
  "filesGlob": [
    "./app/**/*.ts",
    "!./node_modules/**/*.ts"
  ],
  "compileOnSave": false,
  "buildOnSave": false
}

我还需要做什么才能让它工作?这对我来说真是个拦路虎

创建定义文件,如
declarations.d.ts
,内容如下:

//fix error TS2304: Cannot find name 'require':
declare function require(string:string):any;
并添加对
main.ts
/
boot.ts
的引用:

/// <reference path="./typings/declarations.d.ts" />
//

创建定义文件,如
声明.d.ts
,内容如下:

//fix error TS2304: Cannot find name 'require':
declare function require(string:string):any;
并添加对
main.ts
/
boot.ts
的引用:

/// <reference path="./typings/declarations.d.ts" />
//

您应该使用诸如之类的工具为模块添加类型定义

全局安装它:

npm i -g typings
为其创建配置:

typings init
有一个使用require的类型定义

typings install require --ambient --save
请注意,键入将为main和浏览器添加类型定义,请对tsconfig.json文件进行更改,使其仅包含浏览器版本

"filesGlob": [
    "./app/**/*.ts",
    "!./node_modules/**/*.ts",
    "!./typings/main",
    "!./typings/main.d.ts"
  ],

您应该使用诸如之类的工具为模块添加类型定义

全局安装它:

npm i -g typings
为其创建配置:

typings init
有一个使用require的类型定义

typings install require --ambient --save
请注意,键入将为main和浏览器添加类型定义,请对tsconfig.json文件进行更改,使其仅包含浏览器版本

"filesGlob": [
    "./app/**/*.ts",
    "!./node_modules/**/*.ts",
    "!./typings/main",
    "!./typings/main.d.ts"
  ],

您如何使用require<代码>导入myModule=require('myModule')?如何使用require
import myModule=require('myModule')
?谢谢,我很喜欢这个解决方案的外观。我现在是否必须在app.ts文件中引用其中一个.ts文件?如果是这样的话,为什么与以前的版本有所不同?以前从来没有这样做过。这解决了一个问题,谢谢;但是现在我有一些不相关的东西。如果你使用Typescript 2.x:使用
npm安装--保存dev@types/node
npm安装--保存dev@types/requirejs
而不是安装typings模块谢谢,我喜欢这个解决方案的外观。我现在是否必须在app.ts文件中引用其中一个.ts文件?如果是这样的话,为什么与以前的版本有所不同?以前从来没有这样做过。这解决了一个问题,谢谢;但是现在我有一些不相关的东西。如果您使用Typescript 2.x:使用
npm安装--保存dev@types/node
npm安装--保存dev@types/requirejs
而不是安装typings模块