![](/img/trans.png)
[英]Error: 'types' can only be used in a .ts file - Visual Studio Code using @ts-check
[英]Angular 6 error TS8011 type arguments can only be used in a .ts file
我有一个 Angular 6 应用程序,我需要包含一个 JS 库。 该库是专有的,所以我无法详细了解它是什么,但我遇到的问题是 TypeScript 编译器似乎与诸如这个<<24>>
字符混淆,认为这是一个类型转换,当它真的是不是。 由于这个问题,我在编译时收到以下错误。
error TS8011: 'type arguments' can only be used in a .ts file
我包含的文件,它正在烘焙,是一个传统的 JS 文件。 我无法修改此文件,因为它是一个缩小的库,并且无法通过 NPM 使用。
我最初的想法是让 TS 编译器忽略/排除文件,但这由于某种原因不起作用。 这是我尝试过但没有用的 tsconfig.json 配置。
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"allowJs": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
},
"exclude": [
"./src/js/MyLib.js"
]
}
我试过启用和禁用“allowJs”,但我得到了同样的错误。
你们都知道如何让 TS 编译器有效地忽略这个文件,这样我就可以用脚本标签导入它吗?
谢谢!
您需要引用这些类型的文件(标准 .js 文件)的方式是以下两种方式之一:
angular.json
文件的script
数组中添加脚本引用index.html
文件中添加脚本引用我会选择第一个选项,因为文档特别说明了这一点:
https://angular.io/guide/workspace-config#additional-build-and-test-options
一个包含要添加到项目全局上下文中的 JavaScript 脚本文件的对象。 脚本的加载与您将它们添加到 index.html 中的标签完全一样。 在下面的样式和脚本配置中查看更多信息。
我认为您遇到的问题是您尝试使用import
语句或以tsc
(TypeScript 编译器)尝试转译它的方式引用脚本文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.