首页 文章

Angular4 - npm jQuery错误TS1005:','预期

提问于
浏览
8

我的项目一直很好,直到我通过以下方式安装jquery包:

npm install jquery

和:

npm install -D @types/jquery

在此之后我遇到了一些错误,并决定在索引文件中通过脚本标签使用jQuery . 所以试图卸载已安装的软件包:

npm uninstall jquery
npm uninstall @types/jquery

还尝试了 sudo 和/或 --save 和/或 --save-dev ,如:

sudo npm uninstall jquery --save-dev

根据控制台的说法,卸载进度很顺利:

在2.199s中删除了1个包

但是在尝试_1659830时我仍然收到错误:

node_modules/@types/jquery/index.d.ts(47,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2370,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2372,46):错误TS1005:','预期 . node_modules/@types/jquery/index.d.ts(2483,23):错误TS1005:','预计 . 等等......

然后注意到 nodemodules/@types 仍然包含 jquery 所以我手动删除了它,但随后:

node_modules/@types/angular-animate/index.d.ts(6,1):错误TS2688:找不到'jquery'的类型定义文件 . node_modules/@types/angular/index.d.ts(6,1):错误TS2688:找不到'jquery'的类型定义文件 . node_modules/@types/angular/index.d.ts(86,18):错误TS2304:找不到名称'JQueryStatic' . node_modules/@types/angular/index.d.ts(2004,46):错误TS2304:找不到名称'JQueryStatic' . src / app / search.component.ts(14,19):错误TS2339:类型“{}”上不存在属性“目标” . 错误的ERR!代码ELIFECYCLE npm ERR!错误2 npm ERR! angular-tut@1.0.0 build:tsc -p src / npm ERR!退出状态2

据我所知,在安装jQuery后,我还更改了其他node_modules(@ types / angular)?

UPDATE:


正如@selemmn推荐的那样我试图删除catch:

rm -r node_modules

npm cache clean 此后得到:

npm ERR!从npm @ 5开始,npm缓存会自行修复损坏问题,并保证从缓存中提取的数据有效 . 如果要确保一切都一致,请改用“npm cache verify” . 错误的ERR!错误的ERR!如果您确定要删除整个缓存,请使用--force重新运行此命令 .

所以:

npm cache clean --force

npm install

并得到这个错误:

node-pre-gyp ERR! stack TypeError:无法读取null的属性'version'

gitHub开始,remvoved package-lock.json再次删除了包和缓存 .

现在尝试 npm start 把我带到了起点:

node_modules/@types/jquery/index.d.ts(47,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2370,40):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2372,46):错误TS1005:','预期 . node_modules/@types/jquery/index.d.ts(2483,23):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2484,17):错误TS1005:','预计 . node_modules/@types/jquery/index.d.ts(2485,17):错误TS1005:','预计 . 等等

的package.json:

{
  "name": "angular-tut",
  "version": "1.0.0",
  "private": true,
  "description": "Example project from an angular.io guide.",
  "scripts": {
    "test:once": "karma start karma.conf.js --single-run",
    "build": "tsc -p src/",
    "serve": "lite-server -c=bs-config.json",
    "prestart": "npm run build",
    "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
    "pretest": "npm run build",
    "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
    "pretest:once": "npm run build",
    "build:watch": "tsc -p src/ -w",
    "build:upgrade": "tsc",
    "serve:upgrade": "http-server",
    "build:aot": "ngc -p tsconfig-aot.json && rollup -c rollup-config.js",
    "serve:aot": "lite-server -c bs-config.aot.json",
    "build:babel": "babel src -d src --extensions \".es6\" --source-maps",
    "copy-dist-files": "node ./copy-dist-files.js",
    "i18n": "ng-xi18n",
    "lint": "tslint ./src/**/*.ts -t verbose"
  },
  "keywords": [],
  "author": "",
  "license": "MIT",
  "dependencies": {
    "@angular/animations": "4.0.3",
    "@angular/common": "~4.0.0",
    "@angular/compiler": "~4.0.0",
    "@angular/compiler-cli": "~4.0.0",
    "@angular/core": "~4.0.0",
    "@angular/forms": "~4.0.0",
    "@angular/http": "~4.0.0",
    "@angular/platform-browser": "~4.0.0",
    "@angular/platform-browser-dynamic": "~4.0.0",
    "@angular/platform-server": "~4.0.0",
    "@angular/router": "~4.0.0",
    "@angular/tsc-wrapped": "~4.0.0",
    "@angular/upgrade": "~4.0.0",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.26",
    "angular-in-memory-web-api": "~0.3.1",
    "core-js": "^2.4.1",
    "rxjs": "5.0.1",
    "systemjs": "0.19.39",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "@types/angular": "^1.6.20",
    "@types/angular-animate": "^1.5.7",
    "@types/angular-cookies": "^1.4.4",
    "@types/angular-mocks": "^1.5.10",
    "@types/angular-resource": "^1.5.9",
    "@types/angular-route": "^1.3.4",
    "@types/angular-sanitize": "^1.3.5",
    "@types/jasmine": "2.5.36",
    "@types/node": "^6.0.45",
    "babel-cli": "^6.16.0",
    "babel-preset-angular2": "^0.0.2",
    "babel-preset-es2015": "^6.16.0",
    "canonical-path": "0.0.2",
    "concurrently": "^3.0.0",
    "http-server": "^0.9.0",
    "jasmine": "~2.4.1",
    "jasmine-core": "~2.4.1",
    "karma": "^1.3.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "karma-phantomjs-launcher": "^1.0.2",
    "lite-server": "^2.2.2",
    "lodash": "^4.16.2",
    "phantomjs-prebuilt": "^2.1.7",
    "protractor": "~4.0.14",
    "rollup": "^0.41.6",
    "rollup-plugin-commonjs": "^8.0.2",
    "rollup-plugin-node-resolve": "2.0.0",
    "rollup-plugin-uglify": "^1.0.1",
    "source-map-explorer": "^1.3.2",
    "tslint": "^3.15.1",
    "typescript": "~2.2.0"
  },
  "repository": {}
}

UPDATE 2:


我不明白 - 我删除所有包 - rm -r node_modules . 同时删除 paskage-lock.json 和缓存,如果我尝试在整个项目中搜索"jquery",则找不到任何内容,但在运行 npm install 之后, package-lock.json 文件正在创建时:

"@types/jquery": {
  "version": "3.2.3",
  "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.2.3.tgz",
  "integrity": "sha512-3/ETl4JziXnuFIx6W+WB7BzPGRnYH2O/AFKafSOulabMyAhRfv/oboEO2yytsRvzZDiLFODuydYbr7C0kudB9w==",
  "dev": true
},

那么这个jQuery来自哪里?

2 回答

  • 13

    我通过在package.json中添加以下内容来修复相同的错误

    "devDependencies": {
    ...
    "@types/jquery": "^2.0.42",
    ...
    }
    

    感谢您的UPDATE2,我可以找到这个@ types / jquery lib

  • 7

    我最终将Typescript版本从2.2.0升级到2.3 .

    这是一个巨大的 Headers .

    我希望这会对某人有所帮助 .

相关问题