ウェブサイト検索

AngularJs + Typescript: エラー TS2307: モジュール 'angular' が見つかりません


Angular1.5 と TypeScript を組み合わせようとしています。必要な型をインストールしました:

npm install @types/angularjs

それでもエラーが表示されます:

エラー TS2307: モジュール 'angular' が見つかりません

すでにさまざまなオプションを試しました:

import 'angular';
import 'angularjs'; //that is name inside @types
import angular from 'angularjs';
import * as angular from 'angular';

私は使用しています:

"ts-loader": "1.0.0",
"typescript": "2.0.7",
"webpack": "1.13.3",
"webpack-dev-server": "1.16.2"

tsconfig はかなり標準的です:

{
  "compilerOptions": {
    "target": "es5",
    "noImplicitAny": false,
    "sourceMap": false,
    "lib": ["es6", "dom"],
    "typeRoots": ["./node_modules/@types"]
  },
  "exclude": ["node_modules"]
}

可能な限りすでに簡略化された webpack の設定: var webpack=new require('webpack');

module.exports = {
  context: __dirname + '/src',
  entry: './index.ts',
  output: {
    path: './dist',
    filename: 'app.bundle.js'
  },
  module: {loaders: [{test: /\.tsx?$/, loader: 'ts-loader'},]},
  resolve: {
    extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js'],
  },

  plugins: [new webpack.NoErrorsPlugin()],

  devtool: 'source-map',

  devServer: {
    contentBase: './dist',
    historyApiFallback: true,
    inline: true
  }
};

そして、型のインポートにのみ集中するために、index.ts 自体も簡略化しました:

import * as angular from 'angular';
angular.module('testmodule', []);

更新:tsconfig.json。typeRoots オプションを追加しました。

今、新しいエラーが出ています:

エラー in .../node_modules/@types/angularjs/angular-mocks.d.ts (6,26): エラー TS2307: モジュール 'angular' が見つかりません。

エラー in .../node_modules/@types/angularjs/angular-mocks.d.ts (65,49): エラー TS2304: 名前 'IServiceProvider' が見つかりません。

.../node_modules/@types/angularjs/angular-mocks.d.ts (122,62): エラー TS2304: 名前 'IScope' が見つかりません。

エラー in .../node_modules/@types/angularjs/index.d.ts (66,43): エラー TS2304: 名前 'JQuery' が見つかりません。

回答 #1

もしこれをコマンドラインで実行すれば、その問題は解決するはずです。

npm install @types/angular

この修正でイライラするのは、なぜか package.json が更新されないことです。しかし、上記の代わりに package.json の dependencies に以下のものを追加すれば、問題が解決し、package.json があなたのパッケージと一致するはずです。

"@types/angular": "1.6.5",
"@types/jquery": "2.0.40",

関連記事