postcss 在需要包的 css 文件时找不到配置
postcss can't find config when requiring a package's css file
我正在尝试使用 webpacker
让 rails
与 webpack
一起工作。但是当我部署到生产环境时,它失败了:
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
目录。除了不共享目录外,我该怎么办?
我能够通过指定配置文件使其工作 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 包可能具有的配置文件。不确定这是否重要。
我正在尝试使用 webpacker
让 rails
与 webpack
一起工作。但是当我部署到生产环境时,它失败了:
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
目录。除了不共享目录外,我该怎么办?
我能够通过指定配置文件使其工作 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 包可能具有的配置文件。不确定这是否重要。