react-slick:从slick-carousel导入CSS失败

在这里反应新手。我的应用程序使用create-react-app,而我正在使用react-

slick作为轮播。我正在尝试按照安装程序中提供的指示进行操作,但是以下操作对我不起作用:

@import "~slick-carousel/slick/slick.css"; @import "~slick-

carousel/slick/slick-theme.css";

我收到以下错误:

./src/components/Homepage.scss Module not found: Can't resolve '~slick-

carousel/slick/slick.css' in '/Users/simon/Dev/frischideas/site-

new/src/components'

如果我从CDN将css添加到index.html,它会起作用,但是我宁愿避免该网络调用,因为我认为这会影响初始加载时页面的呈现。

我试着按照说明配置创建反应的应用程序内使用相对路径,但是,这不是为我工作无论是。也许我完全误会了,但是我认为〜表示法允许我从/

node_modules中的包中导入scss。

任何建议/澄清将不胜感激。

更新:从我的webpack.config文件中添加设置(其中大多数是create-react-app中的默认设置)。

{

test: /\.scss$/,

use: [

require.resolve('classnames-loader'),

require.resolve('style-loader'), {

loader: require.resolve('css-loader'),

options: {

importLoaders: 1,

modules: 1,

localIdentName: "[name]__[local]___[hash:base64:5]"

},

},{

loader: require.resolve('postcss-loader'),

options: {

// Necessary for external CSS imports to work

// https://github.com/facebookincubator/create-react-app/issues/2677

ident: 'postcss',

plugins: () => [

require('postcss-flexbugs-fixes'),

autoprefixer({

browsers: [

'>1%',

'last 6 versions',

'Firefox ESR',

'not ie < 9', // React doesn't support IE8 anyway,'

],

remove: false,

flexbox: 'no-2009',

}),

],

},

},{

loader: require.resolve('sass-loader'),

options: {

outputStyle: 'expanded'

}

}

],

}

回答:

我在这个问题上苦苦挣扎,终于找到了解决方案:

  1. 只需进入您的node_modules文件夹并查找slick-carousel文件夹
  2. 在里面找到slick.scssslick-theme.scss从光滑的文件夹中打开它们
  3. 在项目的样式文件夹中创建两个单独的文件,名称分别为_slick.scss_slickTheme.scss
  4. 复制所有文件slick.scssslick-theme.scss然后将其放入新创建的文件(_slick.scss_slickTheme.scss)中
  5. 将它们导入您的app.scss文件中
  6. 现在,如果您像我一样使用webpack,我猜想您在此之后将无法解决'./ajax-loader.gif'错误并且无法解决字体错误
  7. 实际上,这些文件已由slick-carouselCSS自身使用,为此,我们可以简单地进入您新创建的文件_slickTheme.scss并找到这些行

    /* Slider */

.slick-list {

.slick-loading & {

background: #fff slick-image-url("ajax-loader.gif") center center no-repeat;

}

}

/* Icons */

@if $slick-font-family == "slick" {

@font-face {

font-family: "slick";

src: slick-font-url("slick.eot");

src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg");

font-weight: normal;

font-style: normal;

}

}

  1. 评论他们

以上是 react-slick:从slick-carousel导入CSS失败 的全部内容, 来源链接: utcz.com/qa/428609.html

回到顶部