相关疑难解决方法(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万
查看次数

如何使用 Observable 从文件中获取 json 数据

在使用此方法之前,我正在练习从 json 文件中读取数据,该文件包含国家和州的列表,但我想使用 httpClient 并且通过测试我有这些方法,但是读取此数据的正确方法是什么. 早期方法:

  getCountries(): Observable<Country[]> {
    return of(countries['countries']);
  }
  getStates(countryID): Observable<State[]> {
    return of(countries['states'].filter(f => f.countryId === countryID));
  }

Run Code Online (Sandbox Code Playgroud)

这是一种如何工作的方法:

  getC(): Observable<Country[]> {
    return this.http.get<Country[]>(this.link).pipe(map(k => {
      return k['countries'];
    }));
  }
  getS(CID): Observable<State[]> {
    return this.http.get<State[]>(this.link).pipe(map(v => {
      return v['states'].filter(f => f.countryId === CID);
    }));
  }
Run Code Online (Sandbox Code Playgroud)

我看到类似的东西,但我有错误

  getC3(): Observable<Country[]> {
    return this.http.get<Country[]>(this.link)
      .toPromise()
      .then(res => <Country[]>res.countries)
      .then(data => {return data});
    }
Run Code Online (Sandbox Code Playgroud)

正确的方法是如何做到这一点,错误:

舞会错误

已经几天了,好像问题比较严重,所以问这边,请问这个json获取数据的方法是什么:

  [
    {
      "data": [
        {
           "label": "Select State",
           "value": null
        },
        {
          "label": "Adeje", …
Run Code Online (Sandbox Code Playgroud)

json typescript angular

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

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万
查看次数

从组件中的资产目录导入静态 JSON 文件(Angular)

我正在使用 Angular CLI(版本 6)。我的JSON文件assets夹中有一个小文件,我想将其导入到我的组件中。我想在使用来自我的组件的 GET 请求的情况下执行此操作。

我做了什么:

但是,在该行中,我收到一条错误消息:cannot find module ../../assets/config.json.

我很确定这个相对路径是正确的(我也尝试了其他几个选项,类似于typings.d.ts 引用 - 但无论如何,我的目录结构只是一个简单的 Angualr CLI 应用程序:

|- src
    |   
    |-app
    |   |-component
    |       |-component.ts
    |
    |
    |-assets
        |-config.json
Run Code Online (Sandbox Code Playgroud)

任何有关如何解决此问题的提示将不胜感激。

typescript angular-cli angular

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

无法在 Angular 5 中获取本地 json 文件 - 持续出现 404 错误

我已经阅读了我能找到的所有其他关于此的文章或帖子。我一生都无法弄清楚这个简单的任务我哪里出了问题。(特别是按照这个例子。)我一定做了一些明显愚蠢的事情,但我已经看这个很久了,我看不到它。

我在 asset/mockData 中有一个名为 isRecognized.json 的 json 文件。我已将 mockData 目录添加到我的 webpack 配置文件中,因此它包含在 /dist 目录中。如果我访问 http:localhost:4200/assets/mockData/isRecognized.json 我可以看到该文件,所以我知道它可用。

但是,当我尝试使用 HTTP 客户端检索文件时,无论我如何尝试,它都会抛出 404。

编辑:我使用的是 Webpack,而不是 Angular CLI。

应用程序组件.ts

import { MyService } from './services/my.service';
import { Component, OnInit, Renderer2 } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

/*
* Main app component that houses all views.
*/
@Component({
    selector: 'app-comp',
    templateUrl: './app.component.html'
})

export class AppComponent implements OnInit {

    constructor(
        private route: ActivatedRoute, private service: MyService
    ) {}

    ngOnInit() { …
Run Code Online (Sandbox Code Playgroud)

json rxjs typescript angular angular-httpclient

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