我的项目一直很好,直到我通过以下方式安装jquery包:
npm install jquery
Run Code Online (Sandbox Code Playgroud)
和:
npm install -D @types/jquery
Run Code Online (Sandbox Code Playgroud)
在此之后我遇到了一些错误,并决定在索引文件中通过脚本标签使用jQuery.所以试图卸载已安装的软件包:
npm uninstall jquery
npm uninstall @types/jquery
Run Code Online (Sandbox Code Playgroud)
也试过sudo和/或--save和/或--save-dev喜欢:
sudo npm uninstall jquery --save-dev
Run Code Online (Sandbox Code Playgroud)
根据控制台的说法,卸载进度很顺利:
在2.199s中删除了1个包
但是在尝试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:','预计.等等......
然后注意到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)?
更新:
正如@selemmn推荐的那样我试图删除catch:
rm -r node_modules
npm cache clean 在此之后:
错误的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": {}
}
Run Code Online (Sandbox Code Playgroud)
更新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
},
Run Code Online (Sandbox Code Playgroud)
那么这个jQuery来自哪里?
我通过在package.json中添加以下内容来修复相同的错误
"devDependencies": {
...
"@types/jquery": "^2.0.42",
...
}
Run Code Online (Sandbox Code Playgroud)
感谢您的UPDATE2,我可以找到这个@ types/jquery lib
| 归档时间: |
|
| 查看次数: |
10218 次 |
| 最近记录: |