簡體   English   中英

反應故事書sass-loader導入node_modules

[英]React storybook sass-loader import node_modules

我正在使用sass-loader在我的項目中加載我的scss文件,並使用node_modules解析器,例如: @import '~styleguide/src/vars.scss'

當我正在嘗試加載react-storybook時,我將其傳遞給webpack.config.js

const path = require('path');
const autoprefixer = require('autoprefixer');

// load the default config generator.
var genDefaultConfig = require('@kadira/storybook/dist/server/config/defaults/webpack.config.js');

module.exports = function(config, env) {
  var config = genDefaultConfig(config, env);

  config.module.loaders.push({
    test: /\.html$/, loader: 'raw'
  });
  config.module.loaders.push({
    test: /\.scss$/,
    loaders: ['style', 'css?sourceMap', 'postcss-loader', 'sass?config=sassLoader']
  });

  config.sassLoader = {
    includePaths: [
      path.resolve(__dirname, '..', 'src/scss')
    ],
    sourceMap: true
  }

  config.postcss = function() {
    return [autoprefixer];
  }

 return config;
};

從我從sass-loader讀取的內容中,node_module解析應該是自動的但看起來不起作用:

這是錯誤信息

ERROR in ./~/css-loader?sourceMap!./~/postcss-loader!./~/sass-loader?config=sassLoader!./src/component.scss
Module build failed:
@import '~styleguide/src/vars';
^
      File to import not found or unreadable: ~styleguide/src/vars
Parent style sheet: stdin

任何人都知道為什么會這樣?

這對我們有用:

    /* eslint-env node */
    const path = require('path');

    const include = path.resolve(__dirname, '..', 'src');

    module.exports = {
        module: {
            rules: [
                {
                    test: /\.scss$/,
                    loaders: ["style-loader", "css-loader", "sass-loader"],
                    include
                }
            ]
        }
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM