如何使用Deno创建TypeScript文件并立即导入使用?
Deno创建TS文件后立即导入的解决方案
你的代码存在两处可以优化的点:一是重复解析路径冗余,二是Deno的模块缓存机制会导致导入的不是刚写入的最新文件内容。以下是修正后的实现:
const filePath = './example.ts'; const fullPath = import.meta.resolve(filePath).replace('file://', ''); // 直接写入文件(文件不存在时会自动创建,无需提前调用Deno.create) await Deno.writeTextFile(fullPath, `export const test = true`); // 添加时间戳参数绕过模块缓存,确保加载最新文件内容 const { test } = await import(`${filePath}?t=${Date.now()}`); console.log(test);
关键说明:
Deno.writeTextFile本身就支持创建新文件,省去单独调用Deno.create的步骤- Deno会缓存已加载过的模块,通过给导入路径添加唯一时间戳参数,让模块URL变为唯一值,强制Deno重新读取刚写入的文件
内容的提问来源于stack exchange,提问作者ThomasReggi
相关产品推荐
相关产品推荐

