我尝试rails
使用webpack
与webpacker
合作。但是当我部署到生产环境时,它失败了:
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之外呢?
答案 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包可能具有的配置文件。不确定这是否重要。