Как включить файлы .xlsx и .docx в вывод компиляции Typescript? - PullRequest
0 голосов
/ 20 мая 2019

Я использую Typescript с NodeJS для своего сервера.

Как часть логики сервера, мне нужно манипулировать файлами .xlsx и .docx, но они не включены в выходные данные компиляции Typescript.Файлы .xlsx и .docx используются в качестве шаблона для создания других файлов.

Вот так выглядит мой проект:

package.json
package-lock.json
ormconfig.json
tsconfig.json
/src
  /reports
    --other-.ts-files
    Router.ts
    Report.xlsx //File that I want to be included in the Typescript compilation output
    Report.docx //File that I want to be included in the Typescript compilation output

Как включить файлы .xlsx и .docxв выводе компиляции Typescript?Что мне нужно добавить в файл tsconfig.json?

1 Ответ

0 голосов
/ 20 мая 2019

1) Есть возможность добавить дополнительные расширения к nodejs, но этот способ уже устарел

var fs = require('fs');

require.extensions['.txt'] = function (module, filename) {
    module.exports = fs.readFileSync(filename, 'utf8');
};

var words = require("./words.txt");

2) Вы всегда можете использовать файловый API узла для чтения файлов

const fs = require('fs')
const path = require('path')
const css = fs.readFileSync(path.resolve(__dirname, 'email.css'), 'utf8')

3) Сочетая машинопись и веб-пакет, можно загружать пользовательские типы файлов. Например, файлы SVG загружаются таким образом в webpack + ts. В этом случае для Typescript требуются дополнительные вводы, например (это более распространенный способ для приложений веб-интерфейса):

declare module "*.svg" {
  const content: any;
  export default content;
}

4) Для чтения листов XLSX три - хорошая библиотека под названием xlsx

...