如何相当于'module.exports = {};'在es6中为postcss.config.js?

时间:2017-04-18 00:25:12

标签: webpack ecmascript-6 webpack-2 postcss

我在webapck2中使用postcss加载程序。加载器需要一个配置文件postcss.config.js。我不需要任何选择。此问题评论(https://github.com/akveo/ng2-admin/issues/604#issuecomment-271974780)表明我可以简单地将其放在postcss.config.js

module.exports = {};

但是当我运行webpack(webpack -p --config webpack.config.js)时,我收到了这些错误消息

ERROR in ./~/postcss-loader!./~/css-loader?{"modules":true}!./~/less-loader!./app/scripts/components/forms/form.less
Module build failed: Unknown word (1:1)

> 1 | exports = module.exports = require("../../../../node_modules/css-loader/lib/css-base.js")();
    | ^
  2 | // imports
  3 | 

我认为这是因为我的babel加载程序也适用于.js扩展名的所有文件,module.exports = {};可能无法很好地翻译babel

es6中定义空模块导出的正确语法是什么?

如果我只是注释掉了这一行,我也会遇到同样的错误。

如果我将文件留空,则发布有关缺少配置文件的投诉:

ERROR in ./~/postcss-loader!./~/css-loader?{"modules":true}!./~/less-loader!./app/scripts/components/forms/form.less
Module build failed: Error: No PostCSS Config found in: /Users/antkong/dev/project/app/scripts/components/forms
    at Error (native)
    at /Users/antkong/dev/project/node_modules/postcss-load-config/index.js:51:26

我正在使用postcss-loader 1.1.0和webpack 2.3.3

1 个答案:

答案 0 :(得分:2)

问题不在于配置,除非您首先编译配置,否则您将无法使用ES模块。

您在postcss-loader之后应用了css-loaderpostcss-loader生成了JavaScript,但这不是有效的CSS,而是postcss-loader期望的内容。 css-loader应位于less-loader.less之间。

您的{ test: /\.less$/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true } }, 'postcss-loader', 'less-loader' ] } 规则如下所示:

extract-text-webpack-plugin

或者,如果您正在使用{ test: /\.less$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: [ { loader: 'css-loader', options: { modules: true } }, 'postcss-loader', 'less-loader' ] }) }

SELECT
    e1.`Fname`,
    COUNT(e2.`Fname`) AS `Num_Empl`
FROM `Employee` e1
JOIN `Employee` e2
ON e2.`Ssn` = e1.`Super_ssn`
GROUP BY e1.`Fname`
ORDER BY `Num_Empl` DESC
LIMIT 1;