ts类型报错,端口类型我做了定义,可是config文件中的port类型还是string
来源:2-10 TS 应用: TS模块声明 在环境文件的应用 -2

weixin_慕桂英5062843
2023-02-14
写回答
2回答
-
慕粉3946981
2023-06-17
const envData = fs.readFileSync(curEnvFileName) // 读取到的是 buffer 二进制数据
<Buffer 56 49 54 45 5f 48 4f 53 54 3d 27 31 39 32 2e 31 36 38 2e 32 2e 36 27 0a 56 49 54 45 5f 50 4f 52 54 3d 35 30 30 35 0a 56 49 54 45 5f 42 41 53 45 5f 55 ... 55 more bytes>
console.log(envData .toString()) // 可以将 buffer 转换成字符串
VITE_HOST='192.168.2.6' VITE_PORT=5005 VITE_BASE_URL='/dang' VITE_PROXY_DOMAIN='http://192.168.2.6:5003'
而 dotenv.parse 这个方法可以接收一个 buffer 参数,并将其转换成对象
{ VITE_HOST: '192.168.2.6', VITE_PORT: '5005', VITE_BASE_URL: '/dang', VITE_PROXY_DOMAIN: 'http://192.168.2.6:5003' }
问题就出在 dotenv.parse 这个方法并不会识别 number 类型,内部直接将 5005 转换成了 '5005',我个人理解这与 dotenv 库的主要功能有关,因为通过 dotenv 来读取 .env 配置文件是把文件中的value全部当成了 string 类型
10 -
keviny79
2023-02-15
从你截图过来的代码上看没有错误,重启下VSCode,,要还不行,可以进到课程群后,把项目发过来,我帮你检查下
00
相似问题