Загрузка внешних файлов scss с помощью next.js (реагирует) - PullRequest
1 голос
/ 31 октября 2019

Загрузка файлов SaSS из Zeit завершается с ошибкой ниже

node_modules\@zeit\next-css\node_modules\mini-css-extract-plugin\dist\index.js:21} = _webpack2.default;
^TypeError: Cannot destructure property `createHash` of 'undefined' or 'null'.

next.config.js

const withCSS = require("@zeit/next-css");
const withSass = require('@zeit/next-sass')

module.exports = withCSS(withSass({
    webpack (config, options) {
      config.module.rules.push({
        test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/,
        use: {
          loader: 'url-loader',
          options: {
            limit: 100000
          }
        }
      })

      return config
    }
  }))

таблицы стилей находятся в папке src> stylesheets

https://dev.to/harveyjones282/the-simplest-way-to-configure-next-js-with-sass-3en

Ценю любые отзывы:)

Ответы [ 2 ]

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

Это исправлено после установки последнего пакета next.js

0 голосов
/ 02 ноября 2019

Я столкнулся с той же ошибкой некоторое время назад, и я точно не помню, как я попал сюда, но этот код работает -

const withSASS = require('@zeit/next-sass')

const { parsed: localEnv } = require('dotenv').config()
const webpack = require('webpack')

function HACK_removeMinimizeOptionFromCssLoaders(config) {
  console.warn(
    'HACK: Removing `minimize` option from `css-loader` entries in Webpack config',
  )
  config.module.rules.forEach(rule => {
    if (Array.isArray(rule.use)) {
      rule.use.forEach(u => {
        if (u.loader === 'css-loader' && u.options) {
          delete u.options.minimize
        }
      })
    }
  })
}

module.exports = withSASS(
  {
      webpack(config) {
        HACK_removeMinimizeOptionFromCssLoaders(config)
        config.plugins.push(new webpack.EnvironmentPlugin(localEnv))

        return config
      }
  }
)

Попробуйте использовать замену кода в вашем следующем .config.jsфайл с этим, установите необходимые зависимости, такие как dotenv, next-sass. И снова запустите свой сервер, чтобы изменения вступили в силу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...