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

时间:2018-11-16 14:17:47

标签: node.js typescript express typescript-typings tsconfig

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

我正在使用公用/专用密钥对生成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文件?

1 个答案:

答案 0 :(得分:1)

TypeScript编译*.ts**.js*文件。对于TypeScript来说,这不是处理非脚本文件并将其包含在构建中的任务。

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

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

dist
  ...
src
  ...
util
  keys

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