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')
insidemain.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')