2017-01-10 4 views
0

Ich bin Anfänger mit Entwickler, so tut mir leid, wenn ich etwas falsch gemacht haben, und sagen Sie mir, wie zu lösen, bitte ...Index.HTML zu EJS Dateifehler

Ich schaffe eine Funktion des Inneren .html Datei, nur für Test und Arbeit in Ordnung. Aber ich sehe Beispiele mit EJS-Modul und ich kann mit ihnen aus Sicherheitsgründen versuchen. Und schaffe ich andere Archiv .ejs mit dem gesamten Code .html Datei, aber nicht gut funktionieren, ist der Fehler in der Konsole:

enter image description here

Und mein Code verwenden jQuery und einige Archive .js innerhalb /public Paste gezeigt in diese Konsole Fehler

Meine altehtmlDatei:

<html> 
<head> 
    <script src="jquery-3.1.1.js"></script> 
    <script src="app.js"></script> 
    <base href="/"> 
    <title>XXXXXXXXXXXXXXXX</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta ------ /> 
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> 
    <link rel="stylesheet" href="css/app.css"> 
</head> 
<body> 
    <div id="view-change-button" class="button" onclick="Payloadxxxxxxx.togglePanel(event, this)"> 
    <img class="option full" src="../img/Chat Button.png"> 
    <img class="option not-full" src="../img/Code Button.png"> 
    </div> 
    <div id="contentParent" class="responsive-columns-wrapper"> 
    <div id="chat-column-holder" class="responsive-column content-column"> 
     <div class="chat-column"> 
     <div id="scrollingChat"></div> 
     <label for="textInput" class="inputOutline"> 
      <input id="textInput" class="input responsive-column" 
      placeholder="Digite algo" type="text" 
      onkeydown="xxxxxxxxxxxxxxxxPanel.inputKeyDown(event, this)"> 
     </label> 
     </div> 
    </div> 
    <div id="payload-column" class="fixed-column content-column"> 
     <div id="payload-initial-message"> 
     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxOtherDescription. 
     </div> 
     <div id="payload-request" class="payload"></div> 
     <div id="payload-response" class="payload"></div> 
    </div> 
    </div> 

Meine neueEJSDatei mitHTMLund Funktion des Code:

<html> 
     <head> 
      <script src="jquery-3.1.1.js"></script> 
      <script src="app.js"></script> 
      <base href="/"> 
      <title>XXXXXXXXXXXXXXXX</title> 
      <meta ------ /> 
      <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> 
      <link rel="stylesheet" href="css/app.css"> 
     </head> 
     <body> 
      <div id="view-change-button" class="button" onclick="Payloadxxxxxxx.togglePanel(event, this)"> 
      <img class="option full" src="../img/Chat Button.png"> 
      <img class="option not-full" src="../img/Code Button.png"> 
      </div> 
      <div id="contentParent" class="responsive-columns-wrapper"> 
      <div id="chat-column-holder" class="responsive-column content-column"> 
       <div class="chat-column"> 
       <div id="scrollingChat"></div> 
       <label for="textInput" class="inputOutline"> 
        <input id="textInput" class="input responsive-column" 
        placeholder="Digite algo" type="text" 
        onkeydown="xxxxxxxxxxxxxxxxPanel.inputKeyDown(event, this)"> 
       </label> 
       </div> 
      </div> 
      <div id="payload-column" class="fixed-column content-column"> 
       <div id="payload-initial-message"> 
       xxxxxxxxxxxxxxxxxxxxxxxxxxxxxOtherDescription. 
       </div> 
       <div id="payload-request" class="payload"></div> 
       <div id="payload-response" class="payload"></div> 
      </div> 
      </div> 
<? 
    var numberOrigin = 330; 
    function xxxxx(){ 
    var obj2 = login("xxxxxxxxxx", "xxxxxxxxxxxt321", numberOrigin); 
    numberOrigin++; 
    } 

var obj; 

    function xxxx(xxxxxxxxxxxxxxxxxxxx){ 
    numberOrigin +=1; 
//some codes with ajax 
    } 

    function otherFunction(){ 
    //otherFunction code  
    } 
?> 
    // I need the .js files for my function to work fine 
    <script src="js/xxxxx.js"></script> 
    <script src="js/xxxxxxxx.js"></script> 
    <script src="js/xxxxxxxxxx.js"></script> 
    <script src="js/xxxxxxxxxx.js"></script> 
    <script src="js/xxxxxxxxx.js"></script> 
</body> 
</html> 

Meine server.js Datei:

#!/usr/bin/env node 

    'use strict'; 

    var express = require('express'); //recuperando biblioteca express 
    var x = express(); // executado funçao que o express retorna 
     x.set('view engine', 'ejs'); 

     x.get('/', function(req, res){ 
     res.render("../public/index"); //the new index.ejs file 
     }) 

    var server = require('./app'); 
    var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000; 

    x.listen(port, function() { 
     console.log('Server running on port: %d', port); 
    }); 

Der ALTE server.js:

#!/usr/bin/env node 

'use strict'; 

var server = require('./app'); 
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000; 

server.listen(port, function() { 
    console.log('Server running on port: %d', port); 
}); 

Die app.js:

'use strict'; 

require('dotenv').config({silent: true}); 

var express = require('express'); // app server 
var bodyParser = require('body-parser'); // parser for post 
var xxxxxxxxxx = require('xxxxxxxxxxxxcloud'); // xxxsdk 



// requires 
var uuid = require('uuid'); 
var vcapServices = require('vcap_services'); 
var basicAuth = require('basic-auth-connect'); 
var http = require('http'); 

// endpoints 
var logs = null; 
var app = express(); 

// Bootstrap application settings 
app.use(express.static('./public')); // load UI from public folder 
app.use(bodyParser.json()); 

// Create the service 
var oneVariable = tes.test({ 
    url: 'https://gateway.xxxxxxxxxxxxxxxxxxxxxxx/api', 
    username: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
    password: 'xxxxxxxxxxxxxxx', 
    version_date: 'x-12-03', 
    version: 'xxx' 
}); 

// Endpoint to be call from the client side 
app.post('/api/message', function(req, res) { 
    var xxxxxxxxxxx = "dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4"; 
    if (!xxxxxxxxx || xxxxxxxxx === '<xxxxxxxxx-id>') { 
    return res.json({ 
     'xxxxxxxxxxx': { 
     'text': xxxxxxxxxxxxxxxxx' 
     } 
    }); 
    } 

function checkxxxxxxxxxx(data) { 
    return data.xxxxxxxxxx && data.xxxxxxxx.length > 0 && data.xxxxxx[0].xxxxxx === '[]' 
    && data.xxxxx && data.entities.xxxxx > 0 && data.xxxxx[0].entity === 'xxxxx'; 
} 

function xxxxxxxxxxURL(xxx, xxx) { 

} 

module.exports = app; 

Antwort

2

Express wird die Dateien in Ihrem öffentlichen Ordner nicht dienen. Das heißt, Sie müssen das öffentliche Verzeichnis mit Express:

x.use(express.static('public')); 
+0

Dies hat fast funktioniert, aber ich brauche auch die App perfekt arbeiten, und, die App wurde mit dem zuhören, wie zu lösen? –

+0

Dies passierte, weil ich die 'server.js' Route bearbeiten musste, um das EJS mit dem' x' –

+0

zu verwenden. Sieht gut aus für mich. Was scheint das Problem zu sein? Wenn Sie mehr 404-Fehler erhalten, sollten Sie den Inhalt des öffentlichen Verzeichnisses korrigieren. – Brian