JS文件相互调用


title: JS文件相互调用
date: 2019-06-25 17:03:36
tags: [‘JavaScript’, ‘TypeScript’]

我们在写js代码的时候,常常会碰到两个js文件之间相互调用,直接上代码:
messageText.js

//定义数组
var msgArray = [
	{name: 'In function',value: '在函数'},
	{name: 'was not declared in this scope',value: '没有在此范围内声明'},
];

//定义常量
var messageText = {

	a_name : '张三',

	b_name : '李四',

}
exports.msgArray = msgArray;
exports.messageText = messageText;

在A.js中调用messageText.js

const msg_1 = require("./messageText");
for(var i=0; i < msg_1.msgArray.length; i++)
{
    var message = data1.replace(msg_1.msgArray[i].name, msg_1.msgArray[i].value);
    data1 = message;
}

上面的例子中,我对data1这个字符串做了一个汉化处理,就是将数组中的name替换成value;
如果想要引用B.js中的常量,那么非常简单:

msg_1.messageText.a_name

这样即可得到B.js中a_name中的值了。

ts文件之间调用用法有些差别,如下:
messageText.ts

export class MessageText {
	public static name: string = '张三';
}

在A.ts中调用js中调用messageText.ts

import { MessageText } from 'vs/workbench/api/common/messageText';//注意form ''是你项目中的目录
console.log(MessageText.name);