указать путь к pdf в проекте node.js, который может быть достигнут при развертывании - PullRequest
0 голосов
/ 26 апреля 2018

Я развертываю веб-сайт node.js на облачной платформе Google и хотел бы, чтобы мое резюме было там, которое в данный момент находится в моем локальном каталоге. Мой код выглядит следующим образом:

import { Router }   from 'express';
import * as express from 'express';
import * as path    from 'path'   ;
import * as pug     from 'pug'    ;
import * as fs from 'fs';

const index: Router = Router();


index.get('/curriculum-vitae', (req, res, next) => { 

    var pdf_path = "local/path/to/resume.pdf"   

    fs.readFile( pdf_path, (err, data) =>{
        res.contentType('application/pdf');
        res.send(data)
    })
});

Однако я хотел бы изменить pdf_path на относительный путь, чтобы при развертывании приложения его можно было найти на удаленном сервере. Не ясно, как это сделать, поскольку fs.readFile, кажется, принимает только абсолютные пути.

1 Ответ

0 голосов
/ 26 апреля 2018

Из документации на fs:

Пути в строковых формах интерпретируются как последовательности символов UTF-8, идентифицирующие абсолютное или относительное имя файла. Относительные пути будут разрешены относительно текущего рабочего каталога, как указано в process.cwd ().

Таким образом, относительные пути поддерживаются , но из каталога, из которого был вызван node.

Если вместо этого вы хотите использовать путь относительно текущего исходного файла JS, используйте __dirname. Для доступа к корневой папке проекта просто наберите .., начиная с __dirname, пока не достигнете корня проекта. Это всегда будет работать, потому что ваша исходная структура не изменится.

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