Получил ошибку загрузчика sass, когда я обновил свои зависимости с углового 2 до углового 5 - PullRequest
0 голосов
/ 25 апреля 2018

Это мой package.json:

{
  "name": "web-app",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "start": "ng serve",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "5.2.0", // from 2.0.2
    "@angular/compiler": "5.2.0", // from 2.0.2
    "@angular/core": "5.2.0", // from 2.0.2
    "@angular/forms": "5.2.0", // from 2.0.2
    "@angular/http": "5.2.0", // from 2.0.2
    "@angular/platform-browser": "5.2.0", // from 2.0.2
    "@angular/platform-browser-dynamic": "5.2.0", // from 2.0.2
    "@angular/router": "5.2.0", // from 3.0.0
    "angular2-google-maps": "0.16.0",
    "angular2-material-datepicker": "0.5.0",
    "core-js": "2.4.1",
    "js-marker-clusterer": "^1.0.0",
    "marker-clusterer-plus": "^2.1.4",
    "moment": "2.17.1",
    "ng2-inline-svg": "1.0.0",
    "rxjs": "5.5.6", // from 5.0.0-beta.12
    "ts-helpers": "1.1.1",
    "zone.js": "0.6.23"
  },
  "devDependencies": {
    "@angular/cli": "1.7.4", // added due to deprecated angular-cli
    "@angular/compiler-cli": "5.2.0", // added due to deprecated angular-cli
    "@angular/language-service": "5.2.0",
    "@types/jasmine": "2.8.3",
    "@types/jasminewd2": "2.0.2",
    "@types/node": "6.0.60",
    "codelyzer": "4.0.1",
    "jasmine-core": "2.8.0",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "2.0.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage-istanbul-reporter": "1.2.1",
    "karma-jasmine": "1.1.0",
    "karma-jasmine-html-reporter": "0.2.2",
    "protractor": "5.1.2",
    "ts-node": "4.1.0",
    "tslint": "5.9.1",
    "typescript": "2.5.3",
    "@types/googlemaps": "3.30.8", //from 3.26.10
    "@types/webpack": "2.2.8",
    "bower": "1.8.0",
    "karma-cli": "1.0.1",
    "karma-remap-istanbul": "0.2.1",
    "webpack": "2.1.0-beta.22"
  }
}

Я пытался обновить некоторые версии (как прокомментировано в файле package.json). Большинство моих обновлений - это обновление angular 2 до 5 и angular-cliв angular / cli

npm установка прошла успешно, но когда я пытаюсь собрать ng, у меня появляется эта ошибка:

ERROR in ./node_modules/raw-loader!./node_modules/postcss-loader/lib??embedded!./node_modules/sass-loader/lib/loader.js??ref--8-3!./src/styles.sass
Module build failed:
  color: rgba(79, 79, 79, 0.5)
                                ^
      Invalid CSS after "...79, 79, 0.5); }": expected 1 selector or at-rule, was "-ms-input-placehold"
      in C:\Users\user\Work\web\web-ang2\src\assets\styles\fragments\_input.sass (line 5, column 34)
ERROR in src/app/components/secure/business/contractor-search/contractor-search.component.spec.ts(27,7): error TS1005: ',' expected.

Возможно, я обновил некоторые версии, которые несовместимы друг с другом.Как решить эту проблему?

1 Ответ

0 голосов
/ 25 апреля 2018

Для проблем совместимости, я рекомендую:

  1. удалить папку node_modules
  2. npm upgrade
  3. npm update

Хотя ваш код ошибки указывает на наличие проблем в ваших пользовательских файлах (\assets\styles\fragments\_input.sass и contractor-search.component.spec.ts), а не в зависимостях.

Я настоятельно рекомендую вам удалить любые пробелы - вы переместили свой код из системы с другими настройками локализации? Или вы каким-либо образом трансформировали свои файлы? Это могут быть просто случайные пробелы, которые фреймворк пытается проанализировать. Или, может быть, просто кот прошел через клавиатуру, когда вы не смотрели? : P

...