tsconfig输出将在 Node.js 12 上运行的代码的最佳 TypeScript设置是什么?
如果我想使用节点8编译源代码,那么打印的typescript配置是什么?
大多数教程使用以下tsconig.json:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs"
}
}
Run Code Online (Sandbox Code Playgroud)
但现在我发现,并非所有可用功能都受支持.例如,['foo'].includes('bar')抛出错误:类型'string []'上不存在属性'includes'.
我发现一个问题,解决这个问题.解决方案是使用lib es7.我可以覆盖默认的libs:"lib": ["es7"]
但是我不确定这是否是节点8的最佳配置 - 是否有更多不受该lib支持的功能?是否定义了很多功能?
所以我的问题是:什么是最好的配置target,lib并且module如果我想使用节点8?
我该如何配置 TypeScript 才能利用 Node.js 18 中的所有最新功能?具体来说,我想知道如何获得对 ESM 的全面支持,以及如何使用 ES2021/ES2022 中引入的所有最新语法和函数。
有没有人知道Node.js v10.x需要哪些目标/库来使用没有生成器的内置async/await?我看到很多节点8但没有节点10.
Node.js 16 最近发布,带来了对 ES2021 的更新支持和对 ES 模块的稳定支持,如何配置 TypeScript 以输出利用所有这些新功能的 JavaScript 代码?
我正在使用 CDK typescript lambda 堆栈,连接到 API 网关。当我发送以下响应时,一切正常:
const res = await request<ResponseModel>(req);
return {
statusCode: res.status,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true
},
body: JSON.stringify(res.data)
};
Run Code Online (Sandbox Code Playgroud)
但是,我尝试使用通用常量设置标头,结果失败:
// common-headers.ts
export const CommonResponseHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true
};
//function.ts
import { CommonResponseHeaders } from '../../common/common-headers';
const res = await request<ResponseModel>(req);
return {
statusCode: res.status,
headers: CommonResponseHeaders,
body: JSON.stringify(res.data)
};
//stack.ts
const function = {
name: 'myFunction',
runtime: Runtime.NODEJS_14_X,
entry: path.join(__dirname, './function.ts'),
vpcSubnets: {
subnetType: SubnetType.PRIVATE_WITH_EGRESS
},
handler: 'handler',
environment: …Run Code Online (Sandbox Code Playgroud)