当需要包的css文件时,postcss无法找到配置

时间:2017-04-19 02:36:11

标签: css ruby-on-rails webpack postcss webpacker

我尝试rails使用webpackwebpacker合作。但是当我部署到生产环境时,它失败了:

   ERROR in /home/user/app/shared/~/css-loader!/home/user/app/shared/~/postcss-loader!/home/user/app/shared/~/sass-loader/lib/loader.js!/home/user/app/shared/~/bootstrap-fileinput/css/fileinput.css
   Module build failed: Error: No PostCSS Config found in: /home/user/app/shared/node_modules/bootstrap-fileinput/css

由于.postcssrc.yml位于/home/user/app/tmp/build-.../.postcssrc.yml,而/home/user/app/shared/node_modules/bootstrap-fileinput/css/fileinput.css不是相对于node_modules的文件树。因为我在版本之间共享 <input id="txtOne"/> <input id="txtTwo"/> <table id="job-table" class="display"></table> 目录。我该怎么办,除了分享dir之外呢?

1 个答案:

答案 0 :(得分:1)

我能够通过指定配置文件explicitly来实现它:

diff --git a/config/webpack/loaders/sass.js b/config/webpack/loaders/sass.js
index faba9d5..6fc902c 100644
--- a/config/webpack/loaders/sass.js
+++ b/config/webpack/loaders/sass.js
@@ -4,6 +4,11 @@ module.exports = {
   test: /\.(scss|sass|css)$/i,
   use: ExtractTextPlugin.extract({
     fallback: 'style-loader',
-    use: ['css-loader', 'postcss-loader', 'sass-loader']
+    use: ['css-loader', {
+      loader: 'postcss-loader',
+      options: {
+        config: '.postcssrc.yml',
+      },
+    }, 'sass-loader']
   })
 }

但是,这很可能会禁用nodejs包可能具有的配置文件。不确定这是否重要。

或多或少relevant links