【问题标题】:yarn build locally and on server builds in different environments纱线在本地构建和在不同环境中的服务器上构建
【发布时间】:2021-11-16 07:36:52
【问题描述】:

我的情况很奇怪。

我在本地计算机和服务器上都有相同的代码。 服务器上的代码是本地代码的副本。 我也可以检查,在本地和服务器上打开两个代码并比较它们,代码是相同的。

我的两个package.json 文件(本地和服务器上)都有:

"scripts": {
   "build": "webpack --config webpack.build.js 
}

当我这样做时:yarn build,在webpack.build.js 我有console.log(process.env.NODE_ENV) 本地我得到的结果是:production,但是当我在服务器上做同样的事情时,我从console.log 得到development

这对我来说很奇怪,有人知道这是怎么回事吗?

【问题讨论】:

    标签: webpack package.json


    【解决方案1】:

    我发现了问题所在。

    在文件webpack.build.js publicPath 中设置为:

    const publicPath = process.env.NODE_ENV === 'development' ? '/foo/ : '/bar/;

    当我在本地运行 yarn build 并运行 webpack.build.js 文件并执行 console.log(process.env.NODE_ENV) 时,我得到了 undefined

    但是,当我在运行 webpack.build.js 文件的服务器 yarn build 上运行并执行 console.log(process.env.NODE_ENV) 时,我得到了 development

    不知何故,我的服务器默认设置为在开发模式下运行。

    我知道:Node.js assumes it's always running in a development environment,但在我的本地情况并非如此。

    我将不得不做更多的研究,也许在dotenv 或一些配置文件中设置了一些默认的NODE_ENV

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-03
      • 2014-07-10
      • 2011-02-10
      • 1970-01-01
      • 2012-01-03
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多