实际上,我正在使用TypeScript进行express.js项目。 我们的SQL查询很大,因此我们必须将它们外包到单独的文件中。
API资源的项目结构为:
token.resource.ts
token.spec.ts
selectUserSessionData.sql
在token.resource.ts
中,我想使用selectUserSessionData.sql
。
我做的第一件事是使用带有typescript预设的babel和一个将import query from 'mysql.sql';
转换为const query = 'content of sql';
的插件。
它工作正常,但现在我想使用茉莉花作为软件测试引擎。 要运行我的测试,我必须先运行它。结果是我不知道错误是否会准确地出现在哪里,因为编译的js中的行与ts中的行不同。
我不想在测试时编译文件。
另一种方法是丢弃babel并使用fs.readFileSync
,这还有另一个缺点。我必须将更改后的sql文件复制到dist目录中。我认为这不是一个干净的解决方案。
是否有最佳实践来处理这种情况? 您需要足够的信息吗?