ウェブサイト検索

mobx - TypeScriptにおけるデコレーションされたメソッドの型宣言

TypeScriptを使用して、ReactプロジェクトでMobxライブラリを使おうとしています。tsconfig.jsonで「experimentalDecorators」が有効になっていると仮定しています。

Mobxでは、observableデコレーターは値(下記の例ではstring[])を受け取り、observableな値(この場合はIObservableArray)を返します。つまり、下記のstore.todosは実際にはString[]ではなくIObservableArrayです。

しかし、TSC は装飾されたプロパティの派生値をチェックしないようで、それでも todos を string[] と考えています。

class TodoStore { @observable public todos = ["buy milk", "buy eggs"]; } const store = TodoStore; store.todos.replace([]); //

続きを読む →

javascript - Restify + TypeScript:

私は TypeScript で書かれた Node.js + Restify アプリケーションを持っています。Crypto モジュール (https://nodejs.org/api/crypto.html) を読み込もうとしています:

import * as crypto from "crypto";

スクリプトをコンパイルすると、次のエラーが発生します:

error TS2307: Cannot find module 'crypto'.

TypeScriptの代わりにJavaScriptを使うと、うまく動作します:

var Crypto = require('crypto');

続きを読む →

TypeScript の const enum のインデックスシグネチャ

export const enum Outcome { primary = 'primary', success = 'success', failure = 'failure' } export const buttonColors: { [key in Outcome]: string } = { primary: '#007aff', success: '#00C260', failure: '#F56B62' }; // example 1 buttonColors[Outcome.primary]; // works // example 2 - interface doesn't work interface IProps { outcome: Outcome; } const first: IProps = { outcome: Outcome.primary }; buttonColors[first.outcome]; // Error: Element implicitly h

続きを読む →

reactjs - TypeScriptでの型の効率的な管理

私は仕事で大規模なTSプロジェクトに取り組んでおり、それが大好きです。プロジェクトを始めたとき、私たちはすべてのカスタム定義されたインターフェースと型を単一のtypes.tsファイルに保存し、それぞれをエクスポートしていました。こうすることで、各モジュール(私たちの場合はReactコンポーネント)で必要な型だけをimportすることができました。この意味で、ここで定義されているglobal.d.tsファイルを実質的に持っているのですが、types.tsのexport構文のおかげで、実際にモジュールであるという追加の利点があります。

もちろん、プロジェクトは規模が拡大しており、これらの定義を別の場所に移す時期です。私の質問は、実際に別々の .d.ts ファイルを作成してこれを行う方法です。各コンポーネント(またはコンポーネントグループ)ごとに別々の .d.ts ファイルを持ち、それらを単一の

続きを読む →

IntellisenseはVisual Studio 2017で最も古いTypeScriptバージョンを優先します

Visual Studio 2017 の Intellisense に関して質問があります。TypeScript SDK を最新バージョン(現在は 2.5.3)でインストールしました。

これは私のフォルダー構造です:

私が今Intellisenseを使うと、最も古いバージョンを提示します:

続きを読む →

yarnpkg - YarnにTypeScriptの型定義をフラット化させるにはどうすればよいですか?

私は @types/react と @types/react-dom の両方をインストールしました。たとえば、以前はバージョン15だったとしましょう。その後、yarn upgrade @types/react@16 @types/react-dom@16 を使って両方をアップグレードしました。

@types/react-dom は @types/react に依存関係を宣言しており、"@types/react": "*"

続きを読む →

javascript - TypeScriptでif文の中でエクスポートされた関数が動作しない

私は関数(getLocalSecurity)を持っており、これはコマンドプロンプトから引数を取得してブール値を返します。こちらをご覧ください:

server.ts: import { getDataService } from './service'; import { getInternalService } from './internal/service'; import { ServiceFactory } from './services/serviceFactory'; import { loggers }

続きを読む →

reactjs - TypeScriptでReduxを使って初期状態を取得する

私はTypeScriptに苦労しています。特にMicrosoftのdotnet new react-reduxで困っています。

私は起動時にアクションを呼び出してユーザーがログインしているかどうかを確認しようとしていますが、TypeScriptがそれを好まず、エラーの意味が理解できません。

こちらがレイアウトコードです:

import * as React from "react"; import { NavMenu } from "./NavMenu"; import { connect } from "react-redux"; import * as AuthStore from "../store/Auth"; type LayoutProps = typeof AuthStore.actionCreators; class Layout extends React.Component<LayoutProps, {}> { componentDidMount() { this.props.ge

続きを読む →

ネストされたフォルダを持つNPM TypeScriptパッケージを公開する方法

私はTypeScriptのプロジェクトを持っていますが、より小さなパッケージに分けるのは無意味です。それでも、コード内に論理的な整理のためのいくつかのサブフォルダーがあります。

開発中、TypeScriptファイルがローカルだったため、モジュールを使用するアプリケーションでは適切に名前空間化されたインポートがありました。

import { MyClass } from "./MyModule"; import { MyNestedClass } from "./MyModule/SomeFolder";

しかし今、私はそれをNPMで欲しいです。私が見つけられる唯一のパッケージ化して公開する方法は、このようなインポートの結果になります:

import { MyClass, MyNestedClass } from "MyModule";

どのようにして自分のpackage.jsonなどを設定すれば、ソースコードにある名前空間を

続きを読む →

javascript - VSCodeを使用してブラウザでシンプルなTypeScriptアプリをデバッグする

私は最初のTypeScriptプロジェクトを作っています(私のバックグラウンドはC#、Javaです)。アプリは期待通りに動作しますが、TypeScriptにブレークポイントを置いてアプリケーションをデバッグすることができません。

また、純粋なTypeScriptコンパイラー(tsconfigでtsc.exe)を使用する場合、マッピングは完璧に動作します。すべてのJSを1つのファイルにまとめたいので、gulpを使用しています。

生成されたJSに間違いがある場合、Visual Studio CodeはTypeScriptではなくJSファイル(bundle.js)のブレークポイントにヒットしますが、カスタムブレークポイントはまったく機能しません

私は開発のためにWindows 10を使用しています。

以下に私のコードを記載します。

HTML

index.html

<!DOCTYPE html> <html> <head>

続きを読む →