'process.env' 与 Webpack Encore 和 Dotenv 的冲突值

问题描述

我将 Webpack Encore 与 Dotenv-webpack 一起使用,但出现此错误:

编译失败。

定义插件

'process.env' 的冲突值

我的 webpack.config.js:

const Dotenv = require('dotenv-webpack')
const Encore = require('@symfony/webpack-encore')

if (!Encore.isRuntimeEnvironmentConfigured()) {
  Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev')
}

Encore
  // ...
  .addPlugin(new Dotenv({
    path: './.env.local'
  }))

module.exports = Encore.getWebpackConfig();

使用的版本:

"devDependencies": {
    "@symfony/webpack-encore": "^1.2.0","dotenv-webpack": "^7.0.2",}

我找到了 similar issues,但我不太了解该解决方案,因此无法将此解决方案与 Symfony Encore 一起使用。

此问题的原因是什么,我该如何解决?

解决方法

我有一个类似的问题,在编译时发出警告,通过向 ignoreStub 添加 true 选项解决了这个问题。

.addPlugin(new Dotenv({
    ignoreStub: true,}))

这是在 dotenv-webpack 的 7.0.0 版中引入的。

https://github.com/mrsteele/dotenv-webpack/releases/tag/v7.0.0

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...