无法读取属性'未定义错误

时间:2019-10-22 09:53:38

标签: node.js cors postman

这是我的第一个nodejs邮递员程序。我正在检查CORS配置。在完成我的代码后,当我尝试在邮递员中运行时,我得到了错误:

TypeError: Cannot read property 'split' of undefined
            <br> &nbsp; &nbsp;at origin (C:\xampp\htdocs\nodepro\recipe\server\src\cors.js:5:34)
            <br> &nbsp; &nbsp;at C:\xampp\htdocs\nodepro\recipe\server\node_modules\cors\lib\index.js:219:13
            <br> &nbsp; &nbsp;at optionsCallback (C:\xampp\htdocs\nodepro\recipe\server\node_modules\cors\lib\index.js:199:9)
            <br> &nbsp; &nbsp;at corsMiddleware (C:\xampp\htdocs\nodepro\recipe\server\node_modules\cors\lib\index.js:204:7)
            <br> &nbsp; &nbsp;at Layer.handle [as handle_request] (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\layer.js:95:5)
            <br> &nbsp; &nbsp;at trim_prefix (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:317:13)
            <br> &nbsp; &nbsp;at C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:284:7
            <br> &nbsp; &nbsp;at Function.process_params (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:335:12)
            <br> &nbsp; &nbsp;at next (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:275:10)
            <br> &nbsp; &nbsp;at urlencodedParser (C:\xampp\htdocs\nodepro\recipe\server\node_modules\body-parser\lib\types\urlencoded.js:91:7)
            <br> &nbsp; &nbsp;at Layer.handle [as handle_request] (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\layer.js:95:5)
            <br> &nbsp; &nbsp;at trim_prefix (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:317:13)
            <br> &nbsp; &nbsp;at C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:284:7
            <br> &nbsp; &nbsp;at Function.process_params (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:335:12)
            <br> &nbsp; &nbsp;at next (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\router\index.js:275:10)
            <br> &nbsp; &nbsp;at expressInit (C:\xampp\htdocs\nodepro\recipe\server\node_modules\express\lib\middleware\init.js:40:5)

来源:

function(origin, callback) {
    if(process.env.CORS_WHITELIST.split(' ').indexOf(origin) !== -1) {
        callback(null, true);
    } else {
        callback(new Error('Not Allowed By CORS Configuration'));
    }
}

我收到错误消息,说未定义拆分。

我什至为WHITELIST创建了一个.env文件,但仍然出现错误。

我在.env文件"CORS_WHITELIST=http://localhost:3000"中提供了以下书面代码。

1 个答案:

答案 0 :(得分:0)

process.env.CORS_WHITELIST可能未定义。使用dotenv模块来确保可以在process.env中访问环境变量。

require('dotenv').config()

默认情况下,该路径为root。如果.env文件位于其他位置,则可以添加路径。

require('dotenv').config({ path: '/full/custom/path/to/your/env/vars' })