我想把Angular1组合起来。5打字稿。安装所需类型:
npm安装@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
}
};
我还简化了索引。ts本身,仅关注类型导入:
import * as angular from 'angular';
angular.module('testmodule', []);
UPD:tsconfig。json。添加了typeRoots选项。
现在得到新的错误:
错误.../node_modules/@type/angularjs/angular-mocks.d.ts(6,26):错误TS2307:找不到模块'角'。
错误在/节点_模块/@types/angularjs/angularmocks。d、 ts(65,49):错误TS2304:找不到名称“IServiceProvider”。
错误在/节点_模块/@types/angularjs/angularmocks。d、 ts(122,62):错误TS2304:找不到名称“IScope”。
错误在/node_modules/@types/angularjs/index。d、 ts(66,43):错误TS2304:找不到名称“JQuery”。
如果在命令行中运行此命令,则应该可以解决此问题。
npm install @types/angular
此修复程序的恼人之处在于,由于某些原因,它不会更新您的程序包。json。。但是,如果将以下内容添加到包中的依赖项中。json而不是上面提到的,它应该解决这个问题并拥有这个包。json镜像您的包。
"@types/angular": "1.6.5",
"@types/jquery": "2.0.40",