Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Node.js 函数的作用是';I don’我没有按预期工作_Node.js_Meteor - Fatal编程技术网

Node.js 函数的作用是';I don’我没有按预期工作

Node.js 函数的作用是';I don’我没有按预期工作,node.js,meteor,Node.js,Meteor,以下代码无法按预期工作: var fs = require('fs'); var PeerServer = require('peer').PeerServer; var server = PeerServer({ port: 9000, path: '/peerjs', ssl: { key: fs.readFileSync('../certificates/key.pem', 'utf8'), cert: fs.readFileSync('../certificates/c

以下代码无法按预期工作:

var fs = require('fs');
var PeerServer = require('peer').PeerServer;

var server = PeerServer({
port: 9000,
path: '/peerjs',
ssl: {
    key: fs.readFileSync('../certificates/key.pem', 'utf8'),
    cert: fs.readFileSync('../certificates/cert.pem', 'utf8')
}
});
它返回以下错误:

/Users/mzn/.meteor/packages/meteor tool/.1.6.0_1.i59qpv.ylxp8++os.osx.x86_64+web.browser+web.cordova/mt os.osx.x86_64/dev_bundle/server lib/node_modules/fibers/future.js:280 W20180606-15:08:29.566(4)?(标准)投掷(ex); W20180606-15:08:29.566(4)?(标准)^W20180606-15:08:29.566(4)

(标准)W20180606-15:08:29.567(4)?(STDERR)错误:enoint:没有这样的错误

文件或目录,打开“../certificates/key.pem”

W20180606-15:08:29.567(4)?(STDERR)位于Object.fs.openSync (财政司司长:646:18)W20180606-15:08:29.567(4)?(标准)在

Object.fs.readFileSync(fs.js:551:33)W20180606-15:08:29.568(4)

(STDERR)位于main.js(chat/server/main.js:15:11)

W20180606-15:08:29.568(4)?(STDERR)在fileEvaluate

(packages/modules runtime.js:343:9)W20180606-15:08:29.568(4)

(STDERR)在需要时(包/模块runtime.js:238:16)

W20180606-15:08:29.569(4)?(标准)在

/Users/mzn/Desktop/All/chat/.meteor/local/build/programs/server/app/app.js:537:1

W20180606-15:08:29.569(4)?(STDERR)位于infos.forEach.info

(/Users/mzn/Desktop/All/chat/.meteor/local/build/programs/server/boot.js:414:13)

下面是我的文件结构

我使用的是
fs.readFileSync('../certificates/key.pem',utf8')
inside
main.js

我尝试了解决办法,但对我来说没有解决

我做错了什么

if (Meteor.isServer) {
    Meteor.startup(function () {
    // code to run on server at startup
    var base = process.env.PWD;
    var fs = Npm.require('fs');
    var PeerServer = require('peer').PeerServer;


    var server = PeerServer({
        port: 9000,
        path: '/peerjs',
        ssl: {
            key: fs.readFileSync(base + '/chat/certificates/key.pem', 'utf8'),
            cert: fs.readFileSync(base + '/chat/certificates/cert.pem', 'utf8')
        }
    });
});
}
感谢@Kevin简单的回答

希望它能帮你解决

感谢@Kevin简单的回答

希望它能为您解决问题

如中所述

字符串形式路径被解释为UTF-8字符序列,用于标识绝对或相对文件名。相对路径将根据process.cwd()指定的当前工作目录进行解析

该错误意味着当前工作目录不是main.js所在的目录,
chat/server

如果应该从当前模块路径解析这些文件的路径,则应为:

fs.readFileSync(path.join(__dirname, '../certificates/key.pem'), 'utf8')
如中所述

字符串形式路径被解释为UTF-8字符序列,用于标识绝对或相对文件名。相对路径将根据process.cwd()指定的当前工作目录进行解析

该错误意味着当前工作目录不是main.js所在的目录,
chat/server

如果应该从当前模块路径解析这些文件的路径,则应为:

fs.readFileSync(path.join(__dirname, '../certificates/key.pem'), 'utf8')