首先,我已经看过有关错误TS1005的其他帖子。相同的错误代码,但完全不同;)
我很高兴尝试使用TypeScript但很失望。一个简单的let x: number;
将在编译期间生成错误TS1005。它不是像错误消息所说的那样丢失分号,但编译器无法识别let关键字。我读到这可能是因为过时的编译器。这是我使用npm install -g typescript
也许有人可以提供帮助?谢谢。
答案 0 :(得分:21)
您的安装错误;您使用的是非常旧的编译器版本(1.0.3.0)。
tsc --version
应返回2.5.2版本。
在linux,OSX上,使用which tsc
检查旧编译器的位置并将其删除。
尝试卸载“全局”打字稿
npm uninstall -g typescript
作为项目的本地开发人员依赖项的一部分进行安装
npm install typescript --save-dev
从项目的根目录执行
./node_modules/.bin/tsc
答案 1 :(得分:9)
在Windows上,您可以拥有PATH
PATH = ...;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\; ...
从PATH环境中删除它,然后
npm install -g typescript@latest
它帮我解决了
“TypeScript错误TS1005:';'预期“
答案 2 :(得分:2)
你还没有最新版本的打字稿。
运行npm install -g typescript
,npm
检查是否已安装tsc
命令。而可能是,由Visual Studio等其他软件提供。如果是这样,npm
不会覆盖它。因此,您必须删除以前弃用的tsc
已安装命令。运行where tsc
以了解其bin位置。它应该在Windows中的C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
中。找到后,删除该文件夹,然后重新运行n pm install -g typescript
。现在应该安装最新版本的typescript。
答案 3 :(得分:0)
问题出在我的代码中。
在大型代码库中,问题尚不清楚。
简化代码如下:
坏:
collection.insertMany(
[[],
function (err, result) {
});
好:
collection.insertMany(
[],
function (err, result) {
});
也就是说,第一个具有[[],而不是普通数组[]
TS错误还不够清楚,它在最后一行带有})的地方显示了错误;
希望这会有所帮助。
答案 4 :(得分:0)
我今天有类似的错误消息。特有的是它没有破坏应用程序。它运行平稳,但是命令提示符(Windows计算机)指示出现错误。 我没有更新Typescript版本,但发现了另一个罪魁祸首。 原来,略有省略符号-关闭“)”,我相信打字稿正在对此进行补偿。仅供参考,代码如下:
[new Object('First Characteristic','Second Characteristic',
'Third Characteristic'*]
* notice here the ending ")" is missing.
一旦在命令提示符下再也没有出现任何问题!
答案 5 :(得分:0)
Remove C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0` directory. Now
npm install -g typescript
this will install the latest version
and then re-try.
答案 6 :(得分:0)
只需尝试不更改任何内容
npm install rxjs@X.X.X
X.X.X是您的当前版本
答案 7 :(得分:0)
我正在这样注入服务:
private messageShowService MessageShowService
代替:
private messageShowService: MessageShowService
这就是错误的原因,尽管那里与','
无关。
答案 8 :(得分:0)
如果您获得error TS1005: 'finally' expected.
,则意味着您忘记在catch
之后实施try
。通常,这意味着您尝试使用的语法不正确。
答案 9 :(得分:0)
小错误的愚蠢问题;
我正在努力
const quizType = computed(() => rootState.quizzes.quiz
const res = await noAuthApi.getQuizzes(quizType)
问题是,我错过了右括号。应该是这样的
const quizType = computed(() => rootState.quizzes.quiz)
const res = await noAuthApi.getQuizzes(quizType)
答案 10 :(得分:0)
验证文件的扩展名。包含 tsx
的文件应具有 .tsx
扩展名。
答案 11 :(得分:0)
在我的情况下,我使用了 'function' 关键字。我想删除它。
差:
导出类 CustomValidators {
静态函数 myFunc(x: string) { console.log(x) } }
好:
导出类 CustomValidators {
static myFunc(x: string) { console.log(x) } }