Parcel + SASS: импорт из node_modules без оператора тильды? Или что-то еще?

Я использую Parcel с SASS и пытаюсь использовать material-components-web (Интернет MDC).

В руководстве MDC Web говорится, что вы должны импортировать модули, которые поставляются с этим пакетом, в свои таблицы стилей следующим образом:

@import "@material/textfield/mdc-text-field";

Но когда я пытаюсь это сделать и запускаю посылку, я получаю следующее сообщение об ошибке:

Can't find stylesheet to import.
  ╷
2 │ @import "@material/textfield/mdc-text-field";
  │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵
  main.scss 2:9  root stylesheet
Error: Can't find stylesheet to import.

поэтому, когда я меняю строку на следующую, с помощью оператора тильды

@import "~@material/textfield/mdc-text-field";

он находит таблицу стилей для импорта, но указанная таблица стилей mdc-text-field, которая находится внутри nodes_modules, пытается загрузить другие таблицы стилей без оператора тильды, поэтому я получаю другую ошибку, подобную этой:

 Can't find stylesheet to import.
   ╷
23 │ @import "@material/animation/variables";
   │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
  node_modules\@material\textfield\mdc-text-field.scss 23:9  @import
  main.scss 2:9                                              root stylesheet
Error: Can't find stylesheet to import.

Итак, как я могу решить эту проблему?


person user3517228    schedule 30.12.2019    source источник


Ответы (1)


Создайте файл .sassrc.js и добавьте следующие строки.

const path = require('path')
const CWD = process.cwd()

module.exports = {
  "includePaths": [
    path.resolve(CWD, 'node_modules')    
  ]
}

Вы можете сослаться на это

Я надеюсь, что этот ответ поможет.

person SKJ    schedule 26.04.2020
comment
Я считаю, что это одно из лучших решений, но обратите внимание, что "sass": { "includePaths": ["./node_modules"] } также можно добавить к package.json, если вам не нужен отдельный файл .sassrc.js. Дополнительную информацию см. в обсуждении на странице github.com/parcel-bundler/parcel/issues/. 1800  - person danmichaelo; 14.05.2020