3个单独的JavaScript文件如何相互通信"在浏览器之外?有人可以解释这3个不同的JS文件如何使用彼此的代码吗?如何避免循环依赖等?
foo.js bar.js mud.js
我知道有类似" var foo = require(./ foo.js)"和" module.exports"但是现在它没有多大意义。
答案 0 :(得分:1)
您可以使用Node.js http://nodejs.org/
在浏览器之外使用Javascript您可以拥有'父级'或'顶级'javascript文件执行'WebWorkers'。父js文件可以来回与WebWorker进行通信。要让Web工作人员相互通信,他们必须通过父javascript文件https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers
进行通信答案 1 :(得分:1)
使用node.js作为JS环境时,使用多个文件的方式如下:
文件1,一个人类:
// person.js
var Person = function(name) { this.name = name; }
Person.prototype.greet = function() { console.log("Hello, "+ this.name) }
module.exports = Person;
文件2,一只狗:
// dog.js
var Dog = function(name) { this.name = name; }
Person.prototype.woof = function() { console.log(this.name + " barks") }
module.exports = Dog;
文件3,一个需要Person类
的程序// greet_sue.js
var Person = require('./person.js');
var Dog = require('./dog');
var sue = new Person("Sue");
sue.greet(); // Hello, Sue
var dog - new Dog("Fido");
dog.woof(); // Fido barks
在命令行运行程序:
$ node greet_sue.js
Hello, Sue
Fido barks
3个单独的JavaScript文件如何相互通信"在浏览器之外?
使用node.js
有人可以解释这三种不同的JS文件如何互相使用代码吗?
某些文件会将对象和值分配给module.exports
,当该文件为require()
时,可以将其导入其他文件中。
如何避免循环依赖等?
良好的计划结构。如果您已经很好地设计了您的计划,那么这不是一个问题。在我的示例中,Person
不应该关心如何使用问候语。它简单提供了一种问候人的方式。 greet_sue.js
文件负责管理问候语。
也就是说,依赖管理很难,并且是一个并非node.js特有的复杂问题。