2017-06-21 20 views
6

Mój projekt był ok, dopóki chwila mam zainstalowane pakiety jquery poprzez:Angular4 - NPM jQuery błędzie TS1005: '' spodziewać

npm install jquery 

oraz:

npm install -D @types/jquery 

Po tym mam pewne błędy i postanowił używać jQuery za pomocą znaczników skryptów w pliku indeksu. Więc próbowałem odinstalować zainstalowane pakiety:

npm uninstall jquery 
npm uninstall @types/jquery 

próbował także z sudo i/lub --save i/lub --save-dev jak:

sudo npm uninstall jquery --save-dev 

Uninstalation postęp poszedł dobrze, zgodnie z konsoli:

removed 1 package in 2.199s

Ale nadal otrzymywałem błąd podczas próby wysłania do npm start:

node_modules/@types/jquery/index.d.ts(47,40): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2370,40): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2372,46): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2483,23): error TS1005: ',' expected. and so forth...

Następnie zauważył, że nodemodules/@types nadal zawiera jquery tak Usunąłem go ręcznie, ale wtedy:

node_modules/@types/angular-animate/index.d.ts(6,1): error TS2688: Cannot find type definition file for 'jquery'. node_modules/@types/angular/index.d.ts(6,1): error TS2688: Cannot find type definition file for 'jquery'. node_modules/@types/angular/index.d.ts(86,18): error TS2304: Cannot find name 'JQueryStatic'. node_modules/@types/angular/index.d.ts(2004,46): error TS2304: Cannot find name 'JQueryStatic'. src/app/search.component.ts(14,19): error TS2339: Property 'target' does not exist on type '{}'. npm ERR! code ELIFECYCLE npm ERR! errno 2 npm ERR! [email protected] build: tsc -p src/ npm ERR! Exit status 2

Więc jak rozumiem po zainstalowaniu jQuery, ja też zmienić inne node_modules (@ typach/kątowa)?

UPDATE:


Jak @selemmn zaleca Próbowałem usunąć haczyk:

rm -r node_modules

npm cache clean Po tym otrzymała:

npm ERR! As of [email protected], the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. npm ERR! npm ERR! If you're sure you want to delete the entire cache, rerun this command with --force.

Więc:

npm cache clean --force

npm install

I got ten błąd:

node-pre-gyp ERR! stack TypeError: Cannot read property 'version' of null

Tak jak z gitHub, remvoved pakiet-lock.json i ponownie usunięte pakiety i cache.

A teraz próbuje npm start doprowadziła mnie do punktu wyjścia:

node_modules/@types/jquery/index.d.ts(47,40): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2370,40): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2372,46): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2483,23): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2484,17): error TS1005: ',' expected. node_modules/@types/jquery/index.d.ts(2485,17): error TS1005: ',' expected. and so forth

pakietu.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:


I dont get it - usunąć wszystkie pakiety - rm -r node_modules. Również usunąć paskage-lock.json i cache, jak również i jeśli próbuję wyszukać „jquery” w całym projekcie, nic nie zostanie znaleziony, ale po uruchomieniu npm install, package-lock.json plik tworzony z:

"@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 
}, 

Więc gdzie ten jQuery jest pochodzi z??

Odpowiedz

6

Naprawiłem ten sam błąd dodając belows do mojego package.json

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

Dziękujemy za Update2, więc mogę znaleźć tego @ typy/jQuery lib

10

W końcu udało mi się to dzięki uaktualnieniu wersji maszynopisu z wersji 2.2.0 do wersji 2.3.

To był OGROMNY nagłówek.

Mam nadzieję, że to pomoże komuś.