2017-04-20 16 views
3

更新TS2307ビルド:モジュールのlodash」を見つけることができません

私は、私は非常に明確に私の問題を説明していませんでした、謝罪。私はなっていたエラーがガルプ経由角度アプリケーションをコンパイル中にはありませんでしたが、Visual Studioの「エラーリスト」インチ私は以来、問題を解決することができました(少なくとも回避策)が、回答したすべての人に感謝したいと思います。私の決断は以下の通りです。


私は、PoC Asp.NetコアWebアプリケーションでAngular4 /活字体のアプリケーションを構築しています。 Angular4アプリケーションは、そう、私は私が開発していたアプリケーション(もAsp.NetコアWebアプリケーション)に関連するすべてのファイルをコピーした私のPoCアプリで完璧に仕事をしていました。

私は、依存関係のすべてがインストールされ、私のwwwrootに/ JS /フォルダ内の.jsファイルを作成するためにがぶ飲みを使用したことを確認するために「インストールNPM」走りました。 Gulpはエラーなく完了しましたが、Visual Studioは以下のエラーを報告しており、プロジェクトの構築を妨げています。さらに混乱で何

TS2307 Build:Cannot find module 'lodash'. 

元のPoCアプリは、私は、これは環境問題のより多くのだと思いますプロジェクトに対して行われた変更なしにもかかわらず、同じエラーを取得している、上記の手順を完了した後です。

@ types/lodashをインストールすると言うところのSimilar Issueを読んでいますが、重複エラーが発生します(重複エラーは修正されていますが、その他のエラーが発生します)。

エラーを投げ.TSコードは次のとおりです。動作しません

import _ from "lodash"; 

import * as _ from "lodash"; 

がに変更します。私は現在、これはもう機能しない理由うまくしようとしている私の髪を引き裂く午前として

は、任意の助けを事前にありがとうございます。

次のように私の設定ファイルがある

{ 
 
    "globalDependencies": { 
 
    "core-js": "registry:dt/core-js#0.0.0+20160725163759", 
 
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255", 
 
    "node": "registry:dt/node#6.0.0+20160909174046" 
 
    } 
 
}
typings.json

package.json

{ 
 
    "version": "1.0.0", 
 
    "name": "aspnet", 
 
    "private": true, 
 
    "scripts": { 
 
    "postinstall": "typings install", 
 
    "typings": "typings" 
 
    }, 
 
    "dependencies": { 
 
    "@angular/common": "~4.0.0", 
 
    "@angular/compiler": "~4.0.0", 
 
    "@angular/core": "~4.0.0", 
 
    "@angular/forms": "~4.0.0", 
 
    "@angular/http": "~4.0.0", 
 
    "@angular/platform-browser": "~4.0.0", 
 
    "@angular/platform-browser-dynamic": "~4.0.0", 
 
    "@angular/router": "~4.0.0", 
 
    "angular-in-memory-web-api": "~0.3.0", 
 
    "angular2-datatable": "^0.6.0", 
 
    "bootstrap": "^3.3.7", 
 
    "core-js": "^2.4.1", 
 
    "lodash": "^4.17.4", 
 
    "moment": "^2.14.1", 
 
    "reflect-metadata": "^0.1.3", 
 
    "rxjs": "5.0.1", 
 
    "systemjs": "0.19.40", 
 
    "zone.js": "^0.8.4" 
 
    }, 
 
    "devDependencies": { 
 
    "@types/node": "7.0.7", 
 
    "gulp": "^3.9.1", 
 
    "gulp-clean": "^0.3.2", 
 
    "gulp-concat": "^2.6.1", 
 
    "gulp-less": "^3.1.0", 
 
    "gulp-sourcemaps": "^1.6.0", 
 
    "gulp-tsc": "^1.3.1", 
 
    "gulp-typescript": "^3.1.6", 
 
    "gulp-uglify": "^2.0.0", 
 
    "path": "^0.12.7", 
 
    "typescript": "^2.1.0", 
 
    "typings": "^2.1.0" 
 
    } 
 
}

のTSconfig。JSON

{ 
 
    "compilerOptions": { 
 
    "emitDecoratorMetadata": true, 
 
    "experimentalDecorators": true, 
 
    "module": "commonjs", 
 
    "noEmitOnError": true, 
 
    "noImplicitAny": false, 
 
    "outDir": "../wwwroot/app/", 
 
    "removeComments": false, 
 
    "sourceMap": true, 
 
    "target": "es5", 
 
    "moduleResolution": "node", 
 
    "typeRoots": [ 
 
     "./node_modules/@types", 
 
     "./node_modules" 
 
    ], 
 
    "types": [ 
 
     "node" 
 
    ] 
 
    }, 
 
    "exclude": [ 
 
    "node_modules" 
 
    ] 
 
}

答えて

0

また、お返事いただいた皆様、ありがとうございます。最初は実際の問題ではっきりしていないことをお詫び申し上げます。

私のTypeScriptファイルは正しくコンパイルされていましたが、Visual Studioは引き続き「エラーリスト」ウィンドウにビルドエラーを報告していました。ステップ数(任意のより多くの上で列挙したもの)私のために問題を修正しましたが、ここで発見された事しようとした後

:プロジェクト「.xproj」ファイルを開き、要するにhttp://rostacik.net/2015/08/14/how-to-disable-building-of-typescript-files-in-visual-studio-2015/

を( "かもしれません.csproj ")をテキストエディタで開きます。 <PropertyGroup> </PropertyGroup>タグを見つけて、<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>という行を追加します。ファイルを保存し、Visual Studioが必要に応じてファイルを更新できるようにします。今すぐアプリケーションを再ビルドしてください。

1

あなたは経由@types/lodashpackageをインストールする必要があります。これは、どのようなモジュールおよびコンポーネントがライブラリによって公開されているものlodash活字体コンパイラを教えてくれます

npm install --save @types/lodash 

さらに、typingsは、もはや推奨される方法ではありません。あなたはアンインストールしtypingsを削除して、あなただけにあなたのTSconfigを更新することにより、@typesパッケージに切り替える必要がありますする必要があります

"typeRoots": [ 
    "node_modules/@types" 
], 

あなたがタイピングを削除した後、最後に、あなたはそれらのパッケージを有効にするcore-jsjasmineため@typesパッケージを追加する必要があります。 :

npm install --save @types/core-js 
npm install --save @types/jasmine 
+0

tsconfig.jsonファイルの '' types ":[" node "]'に '' lodash'を '' types ': '' node "、" lodash "]'を追加するのを忘れないでください。 – mjwrazor

+0

@ mjwrazorこれはTypescript 2.0以上で必要なのですか?私の理解は、これは必要ではないはずです:https://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html –

+0

私はあなたが必要とする約95%です。私は2番目のTypescriptパッケージを使い、現在はそれを使用する必要があります。何らかの理由で私の同僚はすべてのパッケージにそれを使う必要はないようです。上に彼はノードがインストールされ、それを使用しています。私は多くの頭痛の後で今はデフォルトとしてやっています。 – mjwrazor

関連する問題