TypeError: createSecureContext не является функцией - PullRequest
0 голосов
/ 19 апреля 2019

Попытка использовать mssql с React.

Если я пишу обычный файл js с

var sql = require("mssql");

const pool = new sql.ConnectionPool({
  user: "sa",
  password: "password",
  server: "localhost", // You can use 'localhost\\instance' to connect to named instance
  database: "master",
  port: 50845,
  options: {
    trustedConnection: true
  }
});

var conn = pool;

conn
  .connect()
  .then(function() {
    var req = new sql.Request(conn);
    req
      .query("SELECT * FROM CRM.CRM.historical_data")
      .then(function(recordset) {
        console.log(recordset);
        conn.close();
      })
      .catch(function(err) {
        console.log(err);
        conn.close();
      });
  })
  .catch(function(err) {
    console.log(err);
  });

и выполните его с node <filename.js>, он отлично работает!

Но когда я пытаюсь создать функцию в ReactJS, выдается сообщение об ошибке

TypeError: createSecureContext is not a function

Ниже Snippet не будет работать, но даст вам представление о том, как выглядит мой код в данный момент.

class App extends React.Component {
  fetchData() {
    var sql = require("mssql");

    const pool = new sql.ConnectionPool({
      user: "sa",
      password: "password",
      server: "localhost", // You can use 'localhost\\instance' to connect to named instance
      database: "master",
      port: 50845,
      options: {
        trustedConnection: true
      }
    });

    var conn = pool;

    conn
      .connect()
      .then(function() {
        var req = new sql.Request(conn);
        req
          .query("SELECT * FROM CRM.CRM.historical_data")
          .then(function(recordset) {
            //WANT THIS CONSOLE TO SHOW THE DATA, as I can see in the file when I do `node <filename>`
            console.log(recordset);
            conn.close();
          })
          .catch(function(err) {
            console.log(err);
            conn.close();
          });
      })
      .catch(function(err) {
        console.log(err);
      });
  }

  render() {
    return (
      <div>
        <button onClick={() => this.fetchData()}>PRESS ME</button>
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...