如何在js文件中执行ts函数?

时间:2019-10-18 08:07:31

标签: javascript typescript ecmascript-6

我有打字稿文件df1 = df[~df['Date'].between(start_date ,end_date)] print (df1) Date a 0 2017-07-02 0 1 2017-07-12 1 2 2017-07-22 2 6 2017-08-31 6 7 2017-09-10 7 8 2017-09-20 8 9 2017-09-30 9

file1.ts

我有文件export function Hello(str: string) { console.log(str); }

index.js

和package.json中的脚本

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

如何从"run": "node index.js" 中的ts文件运行该功能

2 个答案:

答案 0 :(得分:2)

如果要在ts文件中导入esjs文件以使用节点执行该文件,则需要能够将导入的文件实时转换为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插件将ts转换为js

编辑:

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

var Hello = require('file1.js')

答案 1 :(得分:0)

动态导入使脚本可以根据需要加载其他脚本:

<script type="module">
  import('hello.mjs').then(module => {
  module.hello('world');
});
</script>

请参阅

Include a JavaScript file in another JavaScript file