Невозможно включить файл .key в сборку машинописного текста - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть файл public.key и private.key в структуре папок, который не включен в сборку, т. Е. Когда я запускаю tsc.

Я использую пары открытого и закрытого ключейсоздать веб-токен JSON.Вот как я импортирую файл, который работает нормально и генерирует токен.

private publicKey = fs.readFileSync(path.join(__dirname, "../../utils/keys/public.key"), "utf8");

Тот же код применяется для private.key только с изменением имени файла.

Это мой tsconfig.json file

{
  "compilerOptions": {
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es6",
    "noImplicitAny": false,
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "dist/",
    "pretty": true,
    "baseUrl": ".",
    "alwaysStrict": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "paths": {
      "*": ["node_modules/*", "src/*", "*"]
    }
  },
  "include": ["src/**/**/*.ts"],
  "exclude": ["node_modules"]
}

Есть ли способ попросить машинопись ввести файл *.key?

1 Ответ

0 голосов
/ 16 ноября 2018

TypeScript переносит файлы *.ts* и *.js*. Это не задача для TypeScript обрабатывать файлы, не относящиеся к сценариям, и включать их в сборку.

Пакетирование - это задача для Webpack, которую можно использовать для загрузки произвольных файлов с соответствующими загрузчиками, например, file-loader, но файлы, как ожидается, будут использоваться с import или require в этом случае, а не fs. Также нет необходимости использовать Webpack с приложениями Node.js, потому что они не получают от этого такой большой выгоды, как клиентские приложения.

В этом случае keys вообще не должен быть частью dist, если не доказано иное. Он может находиться за пределами src или dist и находиться на том же уровне вложенности:

dist
  ...
src
  ...
util
  keys

Поскольку ожидается, что относительные пути будут одинаковыми как в src, так и в dist, проблем с подключением к util/keys

не должно быть
...