Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 默认情况下,无论运行的脚本是什么,它都会工作_Javascript_Node.js - Fatal编程技术网

Javascript 默认情况下,无论运行的脚本是什么,它都会工作

Javascript 默认情况下,无论运行的脚本是什么,它都会工作,javascript,node.js,Javascript,Node.js,无论运行的脚本是什么,都始终执行默认值 这是我的密码: import { Pool } from 'pg'; import config from './../config'; const connectionString = () => { switch (process.env.NODE_ENV) { case 'development': console.log('0'); return config.db_dev.connectionString;

无论运行的脚本是什么,都始终执行默认值

这是我的密码:

import { Pool } from 'pg';
import config from './../config';

const connectionString = () => {
    switch (process.env.NODE_ENV) {
        case 'development': console.log('0'); return config.db_dev.connectionString;
        case 'production': console.log('1'); return config.db_prod.connectionString;
        case 'test': console.log('2'); return config.db_test.connectionString;
        default: console.log('3'); return config.db_dev.connectionString;
    }
}

export default new Pool({
    connectionString: connectionString(),
    ssl: true,
});
文件
package.json

"scripts": {
    "start": "nodemon --exec babel-node src/index.js",
    "devbuild": "SET NODE_ENV=development & babel src --out-dir dev-hyperspotters-backend",
    "build": "SET NODE_ENV=production & babel src --out-dir hyperspotters-backend",
    "test": "SET NODE_ENV=test & mocha --timeout 10000 --require @babel/register"
  },

哪里出错了?

看起来连接字符串没有传递给函数

    const connectionString = (process.env.NODE_ENV) => {
        switch(process.env.NODE_ENV){
            case 'development':
                return 0
            case 'production':
                return 1
            case 'test':
                return 2
            default:
                return 3
        }
    }

Pool = {
    connectionString: connectionString(process.env.NODE_ENV),
    ssl: true
}

如何将数据库链接正确传输到pol?尝试导出节点\u ENV=test;mocha…然后,正如@ponsfrilus所建议的,环境变量没有正确设置。按照建议使用
export NODE_ENV
,或者使用像dotenv
&
这样的库至少在Linux中是错误的-不确定windoze@MegaRoks只需使用这个,它是跨平台的:给函数
一个错误,该函数在箭头函数参数的左侧无效。显示它
=>{
你能告诉我们左手边的内容是什么吗?我修复了这个错误;函数中采用了
developmentMode
变量,但这并没有解决我的问题。默认的
分支仍然在执行。太好了。所以现在我假设函数中采用了process.env.NODE_env。你能验证一下它是否正确吗s实际是一个字符串,它在开关表达式正在检查的一种情况下打孔?