【问题标题】:SET dotenv env in package.json not work Linux ubuntu?package.json 中的 SET dotenv env 在 Linux ubuntu 中不起作用?
【发布时间】:2021-07-24 09:25:06
【问题描述】:

这是我在 package.json 中的设置

"scripts": {
    "start": "node backend/server.js",
    "dev": "set NODE_ENV=DEVELOPMENT& nodemon backend/server",
    "prod": "set NODE_ENV=PRODUCTION& nodemon backend/server"
  },

这是我的 server.js 的样子

const app = require('./app')
const dotenv = require('dotenv')

//dotenv path
dotenv.config({ path: 'backend/config/config.env' })

app.listen(process.env.PORT, () => {
  console.log(
    `Server started on PORT: ${process.env.PORT}. in ${process.env.NODE_ENV}`
  )
})

我的 config.env 看起来像

PORT = 4000
NODE_ENV = DEVELOPMENT

我使用 nodemon,...并且我设置了 node_env 变量,如 package.json 所以,当我打电话 npm run devdevelopment npm run prod : production

但是当我运行npm run prod。我仍然得到server started on PORT 4000 in Development。 我的代码有错误吗?

【问题讨论】:

  • 也许可以试试:"dev": "NODE_ENV=DEVELOPMENT nodemon backend/server",(生产环境类似)。我相信不需要set&
  • @msbit 你说得对,我刚刚删除了设置。它的运行。谢谢

标签: node.js express package.json nodemon dotenv


【解决方案1】:

尝试在 Linux 上删除 SET 命令以及 & If:

"dev": "NODE_ENV=DEVELOPMENT nodemon backend/server",
"prod": "NODE_ENV=PRODUCTION nodemon backend/server"

【讨论】:

    猜你喜欢
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 2015-12-11
    • 2018-06-14
    • 2017-03-30
    相关资源
    最近更新 更多