gpt4 book ai didi

json - 如何将 package.json 导入 Typescript 文件而不将其包含在编译输出中?

转载 作者:行者123 更新时间:2023-12-03 15:45:38 26 4
gpt4 key购买 nike

使用 Typescript 2.9 我能够成功导入本地 package.json 文件并使用这些值。但是,当我只想让生成的 JS 文件使用实际的 package.json 时,我现在遇到了 package.json 文件包含在编译输出中的问题。

我的包有以下文件:

src/
index.ts
package.json
tsconfig.json

我的 index.ts 导入 package.json:
import pkg = require("../package.json");

我的 tsconfig.json 看起来像这样:
{
"compilerOptions": {
"outDir": "./lib",
"module": "commonjs",
"resolveJsonModule": true,
"esModuleInterop": true
},
"include": [
"src/**/*"
]
}

理想情况下,结果是:
lib/
index.js
package.json

但是我实际得到的是:
lib/
src/
index.js
package.json
package.json

最佳答案

我正在使用 TypeScript 3.5.1,如果我使用 require() 导入 package.json函数然后它不会复制到编译输出,因此输出看起来像您的理想结果。

我的 tsconfig.json:

{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"lib": ["es2015", "dom"],
"sourceMap": true,
"strict": true,
"moduleResolution": "node",
"downlevelIteration": true
"outDir": "./ts-out",
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": false
},
"include": [
"./src"
]
}

我只是像这样导入它:

const pkg = require('../package.json');

我在 Facebook 的 Jest 框架源代码中找到了这个解决方案(他们使用的是 Lerna + TypeScript): https://github.com/facebook/jest/blob/master/packages/jest-core/src/version.ts

关于json - 如何将 package.json 导入 Typescript 文件而不将其包含在编译输出中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51070138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com