Webpack:@import in css或scss from bower

时间:2015-11-22 17:35:18

标签: webpack css-loader

使用Webpack,从我的css(或scss)文件,我正试图进入一个bower包来导入一个css文件。使用NPM模块,这似乎很容易:

app.scss

@import "~normalize.css/normalize.css";
body {
  font-size: 12px;
}

就Bower而言,我一直在尝试使用resolve.alias来实现这一目标而不会取得任何成功:

webpack.config.js

  resolve: {
    alias: {
      'css-spinners' : '/bower_components/css-spinners/css/spinner'
    }
  }

app.scss

@import "css-spinners/three-quarters.css";
body {
  font-size: 12px;
}

这是错误消息:

ERROR in ./~/css-loader!./~/autoprefixer-loader!./~/sass-loader!./src/styles/app.scss
Module not found: Error: Cannot resolve 'file' or 'directory' ./css-spinners/three-quarters.css in /Users/{project root folder}/src/styles
 @ ./~/css-loader!./~/autoprefixer-loader!./~/sass-loader!./src/styles/app.scss 4:10-97

我不想通过main中的bower.json加载此组件,因为我只想从组件中导入一个特定文件。

从bower组件中@import css文件的任何方式?

1 个答案:

答案 0 :(得分:0)

我没有尝试过这个(对不起,不是开始回答的最好方法!)但是我以前能够使用resolve.modules数组从各种目录中解析。

您是否尝试使用以下内容,而不是使用别名?

<强> webpack.config.js

  resolve: {
    modules: ['node_modules', 'bower_components'],
    extensions: ['.js', '.jsx', '.scss']
  },

<强> app.scss

@import "~css-spinners/css/spinner/three-quarters.css";
body {
  font-size: 12px;
}