2016-09-05 119 views
2

Filter.ts、mustache.jsとredux.3.5.2.jsは同じディレクトリにあります(/ Scripts)。Typescriptモジュールが見つかりません

///<reference path="./typings/mustache.d.ts" /> 
import Mustache = require("mustache"); 
import Redux = require("redux.3.5.2"); 

Visual Studioのコードでそれがモジュールを見つけることができませんReduxの上のエラーを示していますFilter.tsは、次のコードを持っています。コンパイルすると、次のように表示されます。

Filter.ts(13,24):エラーTS2307:モジュール 'redux.3.5.2'が見つかりません。

どのようにしてヒヒを見つけることができますが、還元はできませんか?

入力ファイルをまだ追加していませんが、ファイルのインポートにどのような影響がありますか?まだコードのどこにも使われていませんか?口ひげ型の入力を削除しても、typescriptはファイルを見つけられません。

$ ls *.js 
requirejs.2.1.22.js Filter.ts    mustache.js   redux.3.5.2.js 

[更新]

はtypescriptですの更新をしました:

npm install -g typescript 

tsc.cmdは今、私はバージョン1.8.10

マイtask.jsonのルックスを持っている私に指示like:

{ 
    "version": "0.1.0", 
    "command": "tsc.cmd", 
    "isShellCommand": true, 
    "showOutput": "silent", 
    "problemMatcher": "$tsc" 
} 

とtsconfig.jsonのようになります。今すぐVisual Studioのコードは、それが私の必要なモジュールのいずれかとtsc.cmdが、それはまだモジュールのredux.3.5.2」を見つけることができません不平を言う見つけることができません文句を言い

{ 
    "compilerOptions": { 
     "target": "es5", 
     "watch": true, 
     "module": "amd", 
     "removeComments": true, 
     "sourceMap": false, 
     "outDir": "." 
    } 
} 

。幸いなことに、Visual Studioのコードを再起動した後、それらのエラーは消えてしまいましたが、それでもなおreduxを見つけることはできません。エラーが正確な問題が何であるかを特定していないため、ファイル内の何かが見つからないか、ファイル内の何かがこの問題を引き起こしているかどうかはわかりません。

+0

npmを使用してモジュールをインストールしていますか? –

+0

@PelleJacobsいいえ、私はscriptsディレクトリに内容をコピーしました。これはクライアントスクリプトです。 – HMR

+0

私はnpmを使用しようとします。それはちょうどあなたのためにとてもそうします。また、reduxはそのパッケージと共に宣言ファイルを提供します。 –

答えて

1

だから、口ひげを見つけることができなくReduxの

どのように私はあなたが///<reference path="./typings/mustache.d.ts" />を持って、あなたのコード内で見ることができます。だからあなたは口ひげにタイピングをしているので、それが見つけられます。私はあなたのサンプルでreduxのための入力が見当たらないので、見つからない。

+1

あなたの返事をありがとう、私は口ひげのタイプを削除するか、またはreduxのためのタイピングを追加することができます。同じエラー。 – HMR

+0

こんにちは、私はjavascriptファイルが何もしていないことを今見て、そこにある必要がtypescript定義ファイルです。今日、私はimmutable.jsを追加しようとしましたが、TypeScriptとビジュアルスタジオコードがもう一度不平を言っているので、再び生産性はゼロでした。どのように動作すると思うかについての私の答えを参照してください。しかし、実際にどのように動作するのか、誰かがこの点に関してタイスクリプトの完全な破損を説明するドキュメントを知っているとは思わないでしょう。 – HMR

0

JavaScriptファイルは関係ありません。定義ファイル(例:module-name.d.ts)をルートに入れてください。

今すぐあなたのTSファイルには、以下を含めることができます。

///<reference path="module-name.d.ts" /> 
import redux = require("module-name"); 

では必要になります。あなたは次の操作を行うことができます:configと

require.config = { 
    baseUrl:settings.appRoot, 
    urlArgs: "version=" + settings.version, 
    paths: { 
    "module-name" : settings.appRoot + "/Scripts/SomePlace/some-module", 
... 

あなたは(たとえば、タイピングのための)一つのディレクトリに型定義を置く場合は、TSファイルは次のようになります。別のTSファイルがこれを必要とする場合

///<reference path="../typings/module-name.d.ts" /> 
import redux = require("typings/module-name"); 

モジュールが、TSファイルは、次の操作を行うことができます(のがより深いものを見てみましょう)別のディレクトリにあります。

///<reference path="../../typings/module-name.d.ts" /> 
import redux = require("typings/module-name"); 

あなたrequire.configは、次のようになります。

require.config = { 
    baseUrl:settings.appRoot, 
    urlArgs: "version=" + settings.version, 
    paths: { 
    "typings/module-name" : settings.appRoot + "/Scripts/SomePlace/some-module", 
... 
関連する問題