3

我正在尝试使用 blueprintjs,所以我按照教程使用了这一行:

main.sass

@import "~@blueprintjs/core";

但是我的 webpack-dev-server 给了我这个错误日志:

ERROR in ./node_modules/css-loader?{"minimize":false}!./node_modules/postcss-loader/lib?{"sourceMap":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js?{"sourceMap":true}!./app/javascript/packs/main.sass
Module build failed:
 */
  ^
      Invalid CSS after " */": expected 1 selector or at-rule, was '"use strict";'
      in <redacted>/node_modules/@blueprintjs/core/dist/index.js (line 6, column 4)
webpack: Failed to compile.

所以我很困惑为什么它试图将 index.js 文件作为 sass 解析为 css!

看着./config/webpack/loaders/sass.js,我没有碰过:

const ExtractTextPlugin = require('extract-text-webpack-plugin')
const { env } = require('../configuration.js')

module.exports = {
  test: /\.(scss|sass|css)$/i,
  use: ExtractTextPlugin.extract({
    fallback: 'style-loader',
    use: [
      { loader: 'css-loader', options: { minimize: env.NODE_ENV === 'production' } },
      { loader: 'postcss-loader', options: { sourceMap: true } },
      'resolve-url-loader',
      { loader: 'sass-loader', options: { sourceMap: true } }
    ]
  })
}

我只看到它试图读取 sass、scss 和 css 文件。有什么想法我缺少或应该检查吗?

4

2 回答 2

2

您收到一个错误,因为在您的main.sass文件中您正在导入一个 JS 模块。~@blueprintjs/core解析为node_modules/@blueprintjs/core/dist/index.js,因此您在此过程中混合了 JS。

您应该看到该文件blueprintjs/core/dist夹​​包含哪些文件,并且只导入sass/scss/css文件以进行构建。

于 2017-07-23T16:54:51.380 回答
0

您只需在 App.css 文件中添加以下代码

@import "~@blueprintjs/core/dist/blueprint.css";

于 2017-09-10T10:32:14.780 回答