当我尝试测试 https 时,我收到了 TypeError (未捕获的 TypeError:https.createServer 不是函数)。有人可以帮忙吗?

问题描述 投票:0回答:1

我是一名新的前端开发人员,我正在尝试设置一个新的 HTTPS 环境。我按照 https.createServer([options][, requestlistener]) 部分下的 a link 的说明进行操作。但不知怎的,它给了我一个 https.createServer 不是函数的错误。有人可以帮我解答这个问题吗?

我使用browserify来编译:

    $npm install browserify --save
    $browserify test.js -o bundle.js -t brfs

以下是我的代码(test.js):

    var fs = require('fs'),
    https = require('https')
    var options = {
            ca: fs.readFileSync('ca.pem', 'utf8'),
            cert: fs.readFileSync('cert.pem', 'utf8'),
            rejectUnauthorized: true
    };

    httpsServer = https.createServer(options, (req,res) => {
            res.writeHead(200);
            res.end('hello world\n');
    }).listen(443);

以及我收到的错误:

    Uncaught TypeError: https.createServer is not a function

我还尝试了很多其他方法,包括使用

    var express = require('express'),
        app = express()

最终它给了我另一个错误:

    TypeError: Cannot read property 'prototype' of undefined
javascript ssl https
1个回答
0
投票

您提供的链接给出了这个例子:

const https = require('node:https');
const fs = require('node:fs');

const options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'),
};

https.createServer(options, (req, res) => {
  res.writeHead(200);
  res.end('hello world\n');
}).listen(8000); 

https = require('https')
更改为
const https = require('node:https')
应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.