我的文件夹结构中有一个public.key
和private.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
文件?
答案 0 :(得分:1)
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
不会有问题