使用 Gatsby 忽略 mini-css-extract-plugin 的顺序
Ignore order for mini-css-extract-plugin with Gatsby
问题:
控制台充满警告,例如:warn chunk commons [mini-css-extract-plugin] Conflicting order
。我做了一些研究,发现可以忽略这些警告,因为我使用的是 css-modules 并且我的导入顺序无关紧要。 我发现按照以下步骤消除警告无效。
所需的解决方案:
在插件配置中设置 ignoreOrder = true
选项。
我尝试过的:
我关注了一个类似的问题 并将代码添加到我的 gatsby-node.js
:
const path = require('path')
module.exports.onCreateWebpackConfig = ({
stage,
actions,
getConfig
}) => {
actions.setWebpackConfig({
resolve: {
modules: ['node_modules', path.resolve(__dirname, 'src')],
alias: {
'basic-info': path.resolve(__dirname, 'src/app/routes/basic-info'),
'situation-analysis': path.resolve(__dirname, 'src/app/routes/situation-analysis'),
'select-drivers': path.resolve(__dirname, 'src/app/routes/select-drivers'),
'define-vision': path.resolve(__dirname, 'src/app/routes/define-vision'),
'rate-drivers': path.resolve(__dirname, 'src/app/routes/rate-drivers'),
'affinity-groups': path.resolve(__dirname, 'src/app/routes/affinity-groups'),
'define-objectives': path.resolve(__dirname, 'src/app/routes/define-objectives'),
'create-roadmap': path.resolve(__dirname, 'src/app/routes/create-roadmap')
}
},
devtool: 'eval-source-map'
})
if (stage === 'build-javascript') {
const config = getConfig()
const miniCssExtractPlugin = config.plugins.find(
plugin => (plugin.constructor.name === 'MiniCssExtractPlugin')
)
if (miniCssExtractPlugin) miniCssExtractPlugin.options.ignoreOrder = true
actions.replaceWebpackConfig(config)
}
}
你试过了吗:
const path = require('path')
module.exports.onCreateWebpackConfig = ({
stage,
actions,
getConfig
}) => {
actions.setWebpackConfig({
resolve: {
modules: ['node_modules', path.resolve(__dirname, 'src')],
alias: {
'basic-info': path.resolve(__dirname, 'src/app/routes/basic-info'),
'situation-analysis': path.resolve(__dirname, 'src/app/routes/situation-analysis'),
'select-drivers': path.resolve(__dirname, 'src/app/routes/select-drivers'),
'define-vision': path.resolve(__dirname, 'src/app/routes/define-vision'),
'rate-drivers': path.resolve(__dirname, 'src/app/routes/rate-drivers'),
'affinity-groups': path.resolve(__dirname, 'src/app/routes/affinity-groups'),
'define-objectives': path.resolve(__dirname, 'src/app/routes/define-objectives'),
'create-roadmap': path.resolve(__dirname, 'src/app/routes/create-roadmap')
}
},
devtool: 'eval-source-map'
})
if (stage === 'build-javascript' || stage === 'develop') {
const config = getConfig()
const miniCssExtractPlugin = config.plugins.find(
plugin => (plugin.constructor.name === 'MiniCssExtractPlugin')
)
if (miniCssExtractPlugin) miniCssExtractPlugin.options.ignoreOrder = true
actions.replaceWebpackConfig(config)
}
}
问题:
控制台充满警告,例如:warn chunk commons [mini-css-extract-plugin] Conflicting order
。我做了一些研究,发现可以忽略这些警告,因为我使用的是 css-modules 并且我的导入顺序无关紧要。 我发现按照以下步骤消除警告无效。
所需的解决方案:
在插件配置中设置 ignoreOrder = true
选项。
我尝试过的:
我关注了一个类似的问题 gatsby-node.js
:
const path = require('path')
module.exports.onCreateWebpackConfig = ({
stage,
actions,
getConfig
}) => {
actions.setWebpackConfig({
resolve: {
modules: ['node_modules', path.resolve(__dirname, 'src')],
alias: {
'basic-info': path.resolve(__dirname, 'src/app/routes/basic-info'),
'situation-analysis': path.resolve(__dirname, 'src/app/routes/situation-analysis'),
'select-drivers': path.resolve(__dirname, 'src/app/routes/select-drivers'),
'define-vision': path.resolve(__dirname, 'src/app/routes/define-vision'),
'rate-drivers': path.resolve(__dirname, 'src/app/routes/rate-drivers'),
'affinity-groups': path.resolve(__dirname, 'src/app/routes/affinity-groups'),
'define-objectives': path.resolve(__dirname, 'src/app/routes/define-objectives'),
'create-roadmap': path.resolve(__dirname, 'src/app/routes/create-roadmap')
}
},
devtool: 'eval-source-map'
})
if (stage === 'build-javascript') {
const config = getConfig()
const miniCssExtractPlugin = config.plugins.find(
plugin => (plugin.constructor.name === 'MiniCssExtractPlugin')
)
if (miniCssExtractPlugin) miniCssExtractPlugin.options.ignoreOrder = true
actions.replaceWebpackConfig(config)
}
}
你试过了吗:
const path = require('path')
module.exports.onCreateWebpackConfig = ({
stage,
actions,
getConfig
}) => {
actions.setWebpackConfig({
resolve: {
modules: ['node_modules', path.resolve(__dirname, 'src')],
alias: {
'basic-info': path.resolve(__dirname, 'src/app/routes/basic-info'),
'situation-analysis': path.resolve(__dirname, 'src/app/routes/situation-analysis'),
'select-drivers': path.resolve(__dirname, 'src/app/routes/select-drivers'),
'define-vision': path.resolve(__dirname, 'src/app/routes/define-vision'),
'rate-drivers': path.resolve(__dirname, 'src/app/routes/rate-drivers'),
'affinity-groups': path.resolve(__dirname, 'src/app/routes/affinity-groups'),
'define-objectives': path.resolve(__dirname, 'src/app/routes/define-objectives'),
'create-roadmap': path.resolve(__dirname, 'src/app/routes/create-roadmap')
}
},
devtool: 'eval-source-map'
})
if (stage === 'build-javascript' || stage === 'develop') {
const config = getConfig()
const miniCssExtractPlugin = config.plugins.find(
plugin => (plugin.constructor.name === 'MiniCssExtractPlugin')
)
if (miniCssExtractPlugin) miniCssExtractPlugin.options.ignoreOrder = true
actions.replaceWebpackConfig(config)
}
}