代码 > typescript的条件编译
2025-06-07
最近在搞typescript同时编译到js和lua。有部分系统函数,比如获取unix时间戳,在js和lua由不同的系统函数获取。
所以必须引入类似条件编译的机制。
最后实现的方式是这样的:
1.建立不同的tsconfig,设置paths,指定平台依赖库在不同的目录下
"paths": {
"@include/*": [
"include/*"
],
},
"paths": {
"@include/*": [
"include.lua/*"
],
},
2.js因为用webpack打包,在webpack.config.js的resolve里添加alias,大概为
resolve: {
alias:{
"@include/*": path.resolve(__dirname, 'include/*'),
},
extensions: [".ts", ".tsx", ".js"],
},
3.里为了防止ts报错,安装并引入对应的types
"types": ["lua-types/5.1"],
4.代码中进行引用申明
/// <reference types="lua-types/5.1" />
点击登录