Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 导入光滑的旋转木马主题css会在网页包构建中引发错误_Webpack_Sass_Slick.js - Fatal编程技术网

Webpack 导入光滑的旋转木马主题css会在网页包构建中引发错误

Webpack 导入光滑的旋转木马主题css会在网页包构建中引发错误,webpack,sass,slick.js,Webpack,Sass,Slick.js,我正在尝试在我的父scss中导入slick theme.scss,作为 @import./node_modules/slick carousel/slick/slick theme.css” 但是在捆绑过程中,我在slick theme.scss中导入的文件上出错。这是错误日志 ERROR in ./node_modules/css-loader!./node_modules/postcss-loader/lib!./node_modules/sass-loader/lib/loader.js!

我正在尝试在我的父scss中导入
slick theme.scss
,作为

@import./node_modules/slick carousel/slick/slick theme.css”

但是在捆绑过程中,我在
slick theme.scss
中导入的文件上出错。这是错误日志

ERROR in ./node_modules/css-loader!./node_modules/postcss-loader/lib!./node_modules/sass-loader/lib/loader.js!./sass/app.scss
    Module not found: Error: Can't resolve './ajax-loader.gif' in '/Users/Vishal/Documents/Work/nf-core/sass'
     @ ./node_modules/css-loader!./node_modules/postcss-loader/lib!./node_modules/sass-loader/lib/loader.js!./sass/app.scss 6:89679-89707
我尝试将
resolve url loader
添加到网页包配置中,但没有帮助

这是我的网页包scss加载器部分

loaders: commonConfig.module.loaders.concat({
    test: /\.s?css$/,
    exclude: /(node_modules)/,
    use: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'postcss-loader', 'sass-loader']
    })
})

CSS加载器还将
@import'other.CSS'
背景图像:url(“/images/loader.gif”)
引用的资源返回到网页包模块树

无法解析”。/ajax loader.gif'
”听起来在解析gif的路径时有问题
我认为它不应该以

开头。CSS加载器通常希望路径以字符(文件名)开头,
/
表示绝对路径,
~
表示非相对路径(网页包功能)。这是slick-theme.scss中的错误吗

添加文件加载器或url加载器来处理gif/png/jpg文件也很有用。
主要是将它们从节点模块中取出,放入dist/release文件夹。

创建一个文件.scss(即fix-slick.scss)并写入:

$slick-font-path: "~slick-carousel/slick/fonts/" !default;
$slick-font-family: "slick" !default;
$slick-loader-path: "~slick-carousel/slick/" !default;
$slick-arrow-color: black !default; 

现在,从您的主scss文件导入此文件。

Roberto Alicata的解决方案可以工作,但不需要额外的文件就可以轻松实现。只需在导入slick之前添加以下两个变量:

$slick-font-path: "~slick-carousel/slick/fonts/";
$slick-loader-path: "~slick-carousel/slick/";

@import '~slick-carousel/slick/slick', '~slick-carousel/slick/slick-theme';

其他变量不会导致问题和
!default
标志用于定义要覆盖的默认值,而不是覆盖它。

是的,这是
slick theme.scss中的一个错误。而且,我已经在我的网页中定义了url加载器等config@slam您可以在项目中拥有自己版本的
slick theme.scss
,并对其进行编辑。@slam To our luck slick使用变量定义这些路径,如果导入SASS文件,您可以使用两个变量修复错误。查看我的答案。这是返回的
http://localhost:8081/~slick carousel/slick/ajax-loader.gif 404(未找到)
my main.scss
@import“\u fix-slick”@导入“~slick carousel/slick/slick.scss”@导入“~slick carousel/slick/slick theme.scss”这是正确答案。我还必须在我的网页配置中添加.gif和字体加载器。