微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在main.ts(打字稿)内部的一个函数中加载外部javascript函数

我正在使用d3.js,希望有人能提出一种使打字稿工作像这样的方法

import {loadbarchart} from "./javascript/charts/barchart";
import {loadscatterchart} from "./javascript/charts/scatterchart";

d3.json("data.json", function(error, data) {
    loadbarchart();
    loadscatterchart();
})

我希望做的是在单独的文件中创建几个图表,然后仅调用main.ts中d3.json函数中的所有函数.

当我尝试执行此操作时,将loadbarchart和loadcatterchart加载到d3.json函数之外.

通过进一步阅读,据我了解,以这种方式导入函数可能不在打字稿的范围内?

我希望有人能就如何实现这一目标提供一些建议.

谢谢

解决方法:

作为组织JavaScript代码的一种方式,模块的概念已经存在很长时间了.ECMAScript标准中的模块提供了一种方便的方法.

您可以将关键字export放入:

1.before declaring variables, functions and classes.
2.separately, while in braces indicates that it is exported.

export.file.js

export let one = 1;
export let two = 2;

要么

let one = 1;
let two = 2;
export {one, two};

要么

export class User {
    constructor(name) {
    this.name = name;
  }
};

export function sayHi() {
  alert("Hello!");
};

进口

import {one, two} from "export.file";//it is not necessary to specify extension js
alert( `${one} and ${two}` ); // 1 and 2

使用时

import {loadbarchart} from "./javascript/charts/barchart";
you must be sure that the file javascript/charts/barchart 

 exporte {loadbarchart,loadscatterchart,...};

只有这样

 d3.json("data.json", function(error, data) {
    loadbarchart();
    loadscatterchart();
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐