如何使用Webpack 2导入Foundation的SCSS?

时间:2016-12-09 18:19:17

标签: sass webpack zurb-foundation webpack-2

我正在尝试使用sass-loader在Webpack 2中使用Foundation。

我正在使用

导入基金会
@import 'foundation-sites/scss/foundation';

因为无法找到基础而导致导入错误。阅读sass-loader的文档表明我应该实际使用:

@import '~foundation-sites/scss/foundation';

修复导入错误但会产生新问题。

我收到的错误是

中的ModuleBuildError             模块构建失败: @import“normalize”; ^       要导入的文件未找到或不可读:normalize

要导入的文件未找到或不可读:normalize 父样式表:... / node_modules/foundation-sites/scss/foundation.scss       in ... /node_modules/foundation-sites/scss/foundation.scss(第9行,第1列)

在我的webpack配置文件中,我也使用ExtractTextPlugin,如下所示:

module: {
    rules: [
        {
                test: /\.(scss|css)$/,
                loader: ExtractTextPlugin.extract({
                fallbackLoader: 'style-loader',
                loader: [
                    {
                        loader: 'css-loader'
                    },
                    {
                        loader: 'sass-loader',
                        query: {
                            includePaths: [path.resolve(__dirname, "./node_modules")]
                        }
                    }
                ]
            })
        }
    ]
},
resolve: {
    modules: ['node_modules']
}

我认为这来自于webpack由于某种原因没有解析到node_modules文件夹,但不确定原因来自何处。

1 个答案:

答案 0 :(得分:3)

试试这个,因为这是唯一对我有用的东西。

new webpack.LoaderOptionsPlugin({
    options: {
        context: '/', // <- putting this line right under "options" did the trick
        sassLoader: {
            includePaths: [
                path.resolve(__dirname, 'vendor/zurb/foundation/scss'),
            ]
        }
    }
})