首页 > 解决方案 > 无论如何在服务器端使用 js 就像我使用 PHP(嵌入在 doc 中)一样?

问题描述

我喜欢和讨厌 PHP 的一个特性是能够将代码嵌入到 HTML 中。好处是能够看到我的代码流。缺点是杂乱无章的意大利面条代码,有时会变得难以阅读。

例如,我正在寻找可以将 js 代码作为预处理的服务器端代码的东西,这些代码在发送到客户端之前在后端执行。该代码可以像 PHP 一样嵌入到我的 HTML 文档中。也许服务器端 JS 会被包裹在特殊的分隔符中,以表示它是经过预处理的。

<?js //start of preprocessed, server-side JS code

const hostname = "myhn";
const username = "root";
const passcode = "mypassword";
const dbname = "mydatabase";

var conn = new mysqli(hostname, username, passcode, dbname);
if (conn.connect_error) {

die();

} else {

let userId = 1;

const qry = "SELECT * FROM users WHERE user_id = ?";
const getUser = conn.prepare(qry);
getUser.bindParam('i',userId);
getUser.execute();
const result = getUser.fetchResult();

while(var row = result.fetchObject()){

    var firstName = row.firstName;
    var points = row.points;

}

?> //end of server-side JS code 

<p>Welcome, <a id="settings"><?js document.write(firstName); ?></a>. You have 
<?js document.write(points); ?> points. </p>

<script type="text/javascript">
    document.querySelector('#settings').addEventListener('click',()=>{

        window.confirm("Do you wish to alter your settings>");

    });

</script>

<?js 
}
?>

例如,这是否作为 NodeJS 的一个特性而存在?

标签: javascriptphpserver-side

解决方案


为此,您必须将 Node js 与 ejs 或玉引擎一起使用:-

var mysql = require('mysql');
var con = mysql.createConnection({
  host: "localhost",
  user: "user",
  password: "pwd",
  database: "db"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

推荐阅读