Использование Tau-Prolog с React
Я пытаюсь использовать Tau-Prolog с Node.js и React.
На шаге:
session.consult(program);
Я получаю это сообщение об ошибке:
TypeError: fs.existsSync is not a function
Вот код для воспроизведения проблемы:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
// These alternatives makes no difference:
var pl = require('tau-prolog');
// var pl = require('./tau-prolog/modules/core.js');
// var pl = require('./tau-prolog.js');
class App extends React.Component {
componentDidMount() {
let program = 'fruit(apple). fruit(banana).';
let session = pl.create();
// Until here, it's ok. I get Session {rules: {…}, src_predicates: {…},
// The trouble is at this step:
session.consult(program);
////////
//////// TypeError: fs.existsSync is not a function
////////
}
render() {
return <div>Hello world</div>;
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
Спасибо за вашу помощь!
1 ответ
Вам не требуется это на стороне сервера, за исключением случаев, когда вы хотите оценить программу пролога на стороне сервера и запросить результат.
Если вы просто хотите использовать его с реакцией во внешнем интерфейсе, вы можете просто загрузить его, как и любую другую библиотеку внешнего интерфейса, добавив ее в свой html.
<script type="text/javascript" src="tau-prolog.js"></script>
<script type="text/javascript" src="tau-prolog/core.js"></script>
<script type="text/javascript" src="tau-prolog/lists.js"></script>
а затем либо получить внешний файл .pl, который содержит код Prolog, либо использовать его встроенно, как в примерах или в реакции.