【发布时间】:2017-03-18 02:39:46
【问题描述】:
我正在尝试结合 Angular1.5 + Typescript。 安装所需类型:
npm install @types/angularjs
但仍然看到错误:
错误 TS2307:找不到模块“角度”
已经尝试过不同的选择:
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', []);
UPD:tsconfig.json。添加了 typeRoots 选项。
现在出现新错误:
.../node_modules/@types/angularjs/angular-mocks.d.ts 中的错误 (6,26): 错误 TS2307: 找不到模块 'angular'。
.../node_modules/@types/angularjs/angular-mocks.d.ts 中的错误 (65,49):错误 TS2304:找不到名称“IServiceProvider”。
.../node_modules/@types/angularjs/angular-mocks.d.ts 中的错误 (122,62):错误 TS2304:找不到名称“IScope”。
.../node_modules/@types/angularjs/index.d.ts 中的错误 (66,43): 错误 TS2304: 找不到名称 'JQuery'。
【问题讨论】:
-
你能显示你的目录结构和 tsconfig 文件吗?此外,如果您使用 Webpack 或 SystemJS 之类的工具,也会显示它的配置。
-
感谢您的反馈,更新了我的问题
-
尝试在您的 tsconfig 中添加
"typeRoots": ["./node_modules/@types"]到"compilerOptions"; -
好的,现在我有新的错误
-
我做了一些测试并想通了。查看我的答案stackoverflow.com/a/40421638/4488121
标签: angularjs typescript typescript-types