为什么我必须在JavaScript中的单引号内加双引号?

bli*_*ile 1 javascript npm webpack

有人可以解释为什么我必须在下面的Webpack配置中将双引号嵌入单引号中吗?为什么只使用双引号不起作用?

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  API: '"http://localhost:8080"'
});
Run Code Online (Sandbox Code Playgroud)

如果删除单引号,我的应用程序无法加载,这看起来很奇怪.

blo*_*ead 6

这个webpack插件将在你的代码中进行插值.换句话说,它将在构建时替换process.env.NODE_ENV您拥有的任何内容.

所以,你的代码都从console.log(process.env.NODE_ENV)console.log("development").如果你遗漏了单引号console.log(development),它会失败,因为没有变量development.