11

ワイルドカード モジュールを実装しようとしていますが、うまくいかないようです:

今、私は動作する次のコードを持っています:

typings.d.ts

declare module "*.json" {
  const value: any;
  export default value;
}

app.component.ts

import { Component, OnInit } from '@angular/core';
import * as es from './i18n/es.json';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
  hello = '-';

  ngOnInit() {
    this.hello = es.default.hello;
  }
}

ここでライブの例を見ることができますが、ここ(typescriptlang) とここ(sitepen) に見られるように、私はWILDCARDSを実装したいと思います:ここに画像の説明を入力

実装すると、次のようなことができるはずです。

typings.d.ts

declare module "*.json!i18n" {
  const value: any;
  export default value;
}

declare module "*.json!static" {
  const value: any;
  export default value;
}

declare module "*!text" {
  const value: any;
  export default value;
}

app.component.ts

import { Component, OnInit } from '@angular/core';
import * as es from './i18n/es.json!i18n';
import * as someObject from './static/someObject.json!static';
import * as template1 from './templates/template1.html!text';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
  hello = '-';

  ngOnInit() {
    this.hello = es.default.hello;
    console.log(someObject.default);
    console.log(template1.default);
  }
}

問題は、何らかの理由でワイルドカードが正しく認識されないことです...実行時に「json」が見つからないことをスローします。

  • 「モジュールが見つかりません: エラー: 'json' を解決できません ...」
  • 「モジュールが見つかりません: エラー: '静的' を解決できません ...」
  • 「モジュールが見つかりません: エラー: 'テキスト' を解決できません ...」

この機能の動作例は、Angular 2 で最初に実装されたときのものです。

私が間違っていることのアイデアはありますか??

4

1 に答える 1