Heroku Build在@import for SCSS上失败

问题描述 投票:0回答:1

我有一个react / webpack-4应用程序,我正在尝试在Heroku上构建它。当我在我的机器上构建它时它完全正常,但在Heroku上它会吐出这些错误:

ERROR in ./src/styles/main.scss
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/sass loader/lib/loader.js): 

@import 'components/dashboard';
^

File to import not found or unreadable: components/dashboard.

它并不总是在我的main.scss文件中的同一个@import语句中断,但它总是在其中一个上断开。

这是我的main.scss:

@import 'components/add-poster';
@import 'components/auth';
@import 'components/dashboard';
@import 'components/navigation';

所有名称都与我的文件匹配,并且正确地带有_前缀(即:_dashboard.scss)。

这是我的prod webpack构建文件:

module.exports = merge(base, {
  mode: 'production',
  devtool: 'source-map',
  module: {
    rules: [
      { 
        use: [ MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader' ], 
        test: /\.scss$/ 
      }
    ]
  },
  optimization: {
    minimizer: [
      new UglifyJsPlugin({ parallel: true, sourceMap: true }),
      new OptimizeCssAssetsPlugin({})
    ]
  },
  plugins: [ 
    new MiniCssExtractPlugin({
      filename: 'style.css'
    })
  ]
})

这让我疯了几个小时,任何帮助或见解将不胜感激。谢谢。

reactjs heroku sass webpack-4
1个回答
0
投票

经过漫长而艰苦的重复格式化webpack的过程后,我开始删除导入以查看是否可以阻止错误。

删除仪表板组件后,构建开始起作用。我相信我的问题实际上是从导入一个没有任何内容的scss文件。不知道为什么那会破坏事情,但你去了。

© www.soinside.com 2019 - 2024. All rights reserved.