相关疑难解决方法(0)

打字稿得到错误TS2304:找不到名字'要求'

我试图让我的第一个Typescript和DefinitelyTyped节点应用程序启动并运行,并遇到一些错误.

当我尝试转换一个简单的ts节点页面时,我收到错误"TS2304:找不到名称'require'".我已经在SO上阅读了其他几个这样的错误,我认为我没有类似的问题.
我在shell提示符下运行命令:tsc movie.server.model.ts.该文件的内容是:

tsc movie.server.model.ts.
Run Code Online (Sandbox Code Playgroud)

var mongoose = require('mongoose')行引发错误

typings/tsd.d.ts文件的内容是:

'use strict';

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

/*    movie.server.model.ts - definition of movie schema */

var mongoose = require('mongoose'),
Schema = mongoose.Schema;

var foo = 'test';
Run Code Online (Sandbox Code Playgroud)

.d.ts文件引用放在相应的文件夹中,并通过命令添加到typings/tsd.d.ts:

/// <reference path="node/node.d.ts" />
/// <reference path="requirejs/require.d.ts" />
Run Code Online (Sandbox Code Playgroud)

生成的.js文件似乎工作正常,所以我可以忽略错误.但我很想知道为什么会出现这种错误以及我做错了什么.

node.js typescript definitelytyped

415
推荐指数
10
解决办法
39万
查看次数

如何在Angular2中显示应用程序版本?

如何在angular2应用程序中显示应用程序版本?该版本应从package.json文件中获取

{
  "name": "angular-app",
  "version": "0.0.1",
  ...
}
Run Code Online (Sandbox Code Playgroud)

在角1.x,我有这个HTML:

<p><%=version %></p>
Run Code Online (Sandbox Code Playgroud)

在angular2中,这不会呈现为版本号,而是按原样(<%=version %>而不是0.0.1)打印.

version package.json angular

104
推荐指数
12
解决办法
5万
查看次数

如何将JSON文件导入TypeScript文件?

我正在使用Angular Maps构建地图应用程序,并希望将JSON文件导入为定义位置的标记列表.我希望在app.component.ts中使用这个JSON文件作为marker []数组.而不是在TypeScript文件中定义硬编码的标记数组.

导入此JSON文件以在我的项目中使用的最佳过程是什么?任何方向都非常感谢!

maps json google-maps typescript angular

45
推荐指数
11
解决办法
5万
查看次数

如何在AngularCLI中的构建时插入构建号或时间戳

我希望在我的Angular2应用程序上的某个地方有一个时间戳或内部版本号,这样我就可以判断用户是否使用旧的缓存版本.

如何在AOT编译/构建时使用Angular2中的AngularCLI执行此操作?

angular-cli angular

37
推荐指数
7
解决办法
3万
查看次数

如何更改角度动力bootstrap ngbDatepicker的模型结构

我正在使用角度驱动的bootstrap ngbDatepicker.我已经创建了自己的自定义控件,它将在不同的页面中用于日期捕获,如下所示.

<form-date 
  [label]="'Date of birth'" 
  [name]="'inputCPDDOB'"
  [(ngModel)]="birthDate"
  placeholder="mm/dd/yyyy"
  required
  >
</form-date>
Run Code Online (Sandbox Code Playgroud)

在这里,我已经birthDate作为我的模型对象传递.

我想要

  1. 用户应该可以通过单击CAL按钮(文本框旁边)来选择日期,
  2. 用户应该能够在文本框中以"MM/DD/YYYY"格式键入日期.
  3. 选择或键入日期后,应通过双向数据绑定将模型更新为格式为"YYYY-MM-DD"的字符串.

通过继承NgbDateParserFormatter,我成功地将#1点和#2文本框的日期格式设为MM/DD/YYYY

但我无法改变模型结构.虽然我需要以"YYYY-MM-DD"格式与我的网络服务进行通信.

请帮我实现同样的目标.这是附加的plunker.

datepicker ng-bootstrap angular

8
推荐指数
1
解决办法
2803
查看次数

Angular Material (8) S2591:找不到名称“require”

我正在尝试将日期/时间记录到 javascript 控制台中。我收到的错误消息如下,是由下面的代码生成的。

ETA:代码确实有效。日期将进入控制台。只是错误消息仍然存在

信息:

src/app/kdc/services/customers.api.service.ts(60,9) 中的错误:错误 TS2591:找不到名称“需要”。你需要为节点安装类型定义吗?尝试npm i @types/node然后添加node到 tsconfig 中的 types 字段。

注意:我已经对tsconfig.json文件进行了更改,并且已经完成npm i @types/node并且npm i @types/node --save运行npm结果是3 high-security vulnerabilities(见下文)

在此处输入图片说明

此时我能做什么?`

客户.api.service.ts

   getCustomers(): Observable<Customers[]> {
        return this.httpclient.get<Customers[]>(this._url)
        .pipe( catchError(this.handleError));
        
    } 

    handleError(error:HttpErrorResponse){
        let rval = Math.random().toString(36).substring(7).toUpperCase();
        require('log-timestamp');
        console.error('MSG NO :' + rval );
        console.error(error);
        return throwError(rval + " <-> " + error.name + " <-> " + error.statusText );
     } 
Run Code Online (Sandbox Code Playgroud)

ETA 我在这里发现消息在升级到 Angular4 …

javascript node.js typescript ecmascript-6 angular

8
推荐指数
1
解决办法
2761
查看次数

Angular 6 - 从本地加载JSON

我试图加载两种方式的本地JSON文件.

这是我的json文件:

{
  "imgsesion": "fa_closesesion.png",
  "texthome": "volver a la home",
  "logo": "fa_logo.png",
  "menu": {
    "background": "orange",
    "link1": "ESCRITOR",
    "link2": "MÚSICO",
    "link3": "AYUDA ADMIN",
    "submenu": {
      "link1": {
        "text1": "novelas",
        "text2": "obras de teatro"
      },
      "link2": {
        "text1": "compositor",
        "text2": "intérprete"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
  • 方式1:使用Http

这是我的服务文件(general.service.ts)

  getContentJSON() {
    return this.http.get('assets/json/general.json')
    .map(response => response.json());
  }
Run Code Online (Sandbox Code Playgroud)

这样工作正常,但在Web浏览器控制台中显示下一个错误:

ERROR TypeError: Cannot read property 'menu' of undefined
Run Code Online (Sandbox Code Playgroud)
  • 方式2:使用HttpClient

这是我的服务文件(general.service.ts)

  getContentJSON() {
    return this.httpClient.get("assets/json/general.json");
  }
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为我找不到general.json文件,它通过错误的控制,它给我一个错误404

这是组件文件(app.component.ts)

export class AppComponent implements OnInit {
  contentGeneral: any; …
Run Code Online (Sandbox Code Playgroud)

json angular

7
推荐指数
3
解决办法
5万
查看次数

未找到类型

我刚刚更新了 angular-cli (v1.1) 并使用ng new MyProj. 然后我在project.json文件中添加并安装了两个依赖项:

"dependencies": {
    ...
    "toastr": "2.1.2",
    "spin": "0.0.1"
  },
  "devDependencies": {
    ...
    "@types/toastr": "2.1.32",
    "@types/spin": "2.3.30",
    ...
    "typescript": "~2.3.3"
  }
Run Code Online (Sandbox Code Playgroud)

然后我更新了自动生成的 app.component.ts 添加这个构造函数:

constructor() {
    toastr.success('Hi')
}
Run Code Online (Sandbox Code Playgroud)

IDE(视觉工作室代码)不返回任何错误,但是当我使用应用程序提供服务时,ng serve出现以下错误:

../A/src/app/app.component.ts (15,5) 中的错误:C 找不到名称“toastr”。

我真的无法弄清楚这有什么问题。

非常感谢

typescript angular-cli angular

1
推荐指数
1
解决办法
4356
查看次数

打字稿错误 - 找不到名称“要求”

我正在用 Angular/Typescript 构建一个 Ionic 应用程序。

我正在使用一个名为的库emojiRegex,但我有点不确定如何使用它。

我是这样导入的:

import { emojiRegex } from 'emoji-regex';
Run Code Online (Sandbox Code Playgroud)

然后根据文档你必须这样require做吗?

所以我在做:

let emojiRegex = require('emoji-regex');
if(emojiRegex().test(this.emoji)) {
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我收到一个打字稿错误,我想删除..

我读到你需要添加到你的 `tsconfig.json:

"types": [
  "node"
],
Run Code Online (Sandbox Code Playgroud)

然后运行npm install @types/node --save-dev我所做的,但它对我不起作用。我刚刚收到另一个错误,指出:

[10:39:24] 打字稿错误找不到“节点”的类型定义文件。

那么我有什么想法可以做到这一点吗?我觉得我错过了一些非常简单的东西..谢谢!

javascript typescript ionic-framework angular

1
推荐指数
1
解决办法
3341
查看次数