首页 > 解决方案 > 如何在js文件中执行ts函数?

问题描述

我有打字稿文件file1.ts

export function Hello(str: string) {
    console.log(str);
}

我有档案index.js

{
   require('./some.js'); 
}

和 package.json 中的脚本

"run": "node index.js"

如何从ts文件中运行函数index.js

标签: javascripttypescriptecmascript-6

解决方案


如果要在文件中导入一个tses文件js以使用节点执行它,则需要能够将导入的文件即时转换为 javascript。您可以使用babel-register插件来实现这一点。

您必须像这样在 index.js 中包含 babel-register

require('babel-register')({
    plugins: [/* List of plugins */],
    cache: process.env.NODE_ENV !== 'development'
});

如果你使用 babel.rc,你不需要在这里包含插件。您可以使用@babel/preset-typescript插件转译tsjs.

编辑:

您可以从 ts 文件导入任何导出的值,就像从任何其他文件导入一样。

var Hello = require('file1.js')

推荐阅读