Почему мой логотип не отображает приложение nodejs - PullRequest
0 голосов
/ 29 июня 2018

Вот изображение моего каталога проектов.

enter image description here

У меня есть логотип в шаблоне / assets / logo.png.

В моем файле server.ts я использую промежуточное программное обеспечение Express в качестве app.use (express.static ("template"));

к сожалению, когда я пытаюсь отобразить логотип в моем html-файле, он не отображается.

 <img src="assets/logo.png" alt="Logo">

Вот мой файл server.ts:

// Import everything from express and assign it to the express variable
import  express from 'express';
import fs from 'fs';
// Import WelcomeController from controllers entry point
import {WelcomeController} from './app/controllers';

// Create a new express application instance
const app: express.Application = express();



// The port the express app will listen on
const port: any = process.env.PORT || 3000;

// Template folder
app.use( express.static( "template" ) );

// Mount the WelcomeController at the /welcome route
app.use('/', WelcomeController);


// Serve the application at the given port
app.listen(port, () => {

    const source = fs.createReadStream('/src/app');
    const dest = fs.createWriteStream('/dist');


    source.pipe(dest);
    source.on('end', function() { /* copied */ });
    source.on('error', function(err) { /* error */ });
    // Success callback
    console.log(`Listening at http://localhost:${port}/`);
});

Как будет отображаться мой шаблон с отображением файлов?

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Я думаю, что вам нужно определить, какой корневой каталог находится первым в Express, прежде чем импортировать ресурсы (по крайней мере, это помогает!)

, поэтому, если вы импортируете экспресс, а затем присваиваете express() переменной, например,

 var express = require express(); 
 var app = express;

тогда вы можете сделать что-то вроде:

var root = require('path').join(__dirname,'/template');
app.use(express.static(root));

После определения корня все дальнейшие файлы будут вызываться из этого места при ссылке на URL.

надеюсь, это поможет

0 голосов
/ 29 июня 2018

Я делал это неправильно app.use( express.static( "template" ) );

Я должен делать app.use(express.static(__dirname + '/app/template'));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...