代码之家  ›  专栏  ›  技术社区  ›  Hayden

服务器端是否仍然可以像PHP(嵌入在doc中)那样在服务器端使用js?

  •  1
  • Hayden  · 技术社区  · 6 年前

    关于PHP,我既爱又恨的一个特性是能够将代码嵌入到HTML中。好处是可以看到我的代码流。骗局是那些杂乱无章的意大利面代码,有时很难阅读。

    例如,我可以在服务器端进行代码预处理。这段代码可以像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的一个特性?

    2 回复  |  直到 6 年前
        1
  •  0
  •   HugoTeixeira    6 年前

    ejs公司 https://www.npmjs.com/package/ejs

    意见

    <% if (user) { %>
      <h2><%= user.name %></h2>
    <% } %>
    

    你应该阅读它的文档并尝试一下。

        2
  •  0
  •   Sandeep Bangarh    6 年前

    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!");
    });