Файл импорта sass-загрузчика Webpack 4 без ~ тильды в пути - PullRequest
0 голосов
/ 22 декабря 2018

Есть ли способ использовать сторонний SASS с импортом, таким как @import module-name/path, и при этом sass-загрузчик разрешает файлы в node_modules?

Если я добавлю ~ как @import ~module-name/path это работает, и sass-loader просматривает node_modules и находит файлы, но я не могу изменить файлы SASS для добавления ~.

Я пробовал несколько вещей, таких как

 rules: [
  {
    test: /\.(sa|sc|c)ss$/,
    use: [
      MiniCssExtractPlugin.loader,
      "css-loader",
      {
        loader: "sass-loader",
        options: {
          includePaths: ["node_modules"]
        }
      }
    ]
  }
]

но модули не разрешаются.

Есть идеи?Я вижу много других людей с такой же проблемой, но вижу только добавление ~ как реальное исправление (что я не могу сделать).

1 Ответ

0 голосов
/ 04 января 2019

После долгих проб и усилий я обнаружил, что это невозможно, AFAIK, но вы можете написать что-нибудь, чтобы перечислить ваш includePaths и добавить этот массив в вашу конфигурацию.

Последняя часть каждого пути должна бытькаталог, в котором будет найден @import.

Для @import scoped-module-name/path

Получите includePaths с этим:

rules: [
  {
    test: /\.(sa|sc|c)ss$/,
    use: [
      MiniCssExtractPlugin.loader,
      "css-loader",
      {
        loader: "sass-loader",
        options: {
          includePaths: ["node_modules/@your_org"] // scoped-module-name exists here
        }
      }
    ]
  }
]
...