无法在打字稿构建中包含 .key 文件

Unable to include .key file in typescript build

我的文件夹结构中有一个 public.keyprivate.key 文件未包含在构建中,即当我 运行 tsc.

我正在使用 public/private 密钥对生成 json 网络令牌。 这就是我导入工作正常并生成令牌的文件的方式。

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

相同的代码适用于 private.key,只是文件名发生了变化。

这是我的 tsconfig.json 文件

{
  "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 文件?

TypeScript 转译 *.ts**.js* 文件。这不是 TypeScript 处理非脚本文件并将它们包含到构建中的任务。

Bundling 是 Webpack 的一项任务,可用于使用相应的加载程序加载任意文件,例如file-loader,但在这种情况下,文件应与 importrequire 一起使用,而不是 fs。也没有必要将 Webpack 与 Node.js 应用程序一起使用,因为它们不像客户端应用程序那样从中受益。

在这种情况下 keys 根本不应该是 dist 的一部分,除非另有证明。它可以位于 srcdist 之外,并且处于同一嵌套级别:

dist
  ...
src
  ...
util
  keys

由于 srcdist 中的相对路径应该相同,因此链接到 util/keys

应该没有问题