浏览器中不同脚本标记之间的Javascript环境共享 我对JavaScript非常陌生,而且来自C++背景,我发现自己有点困惑。我有一个javascript文件,为另一个javascript文件设置了一个工作环境工厂类,如下所示: <body> <script src = "environment.js" ></script> <script src = "main.js" ></script> </body>
Environment.js浏览器中不同脚本标记之间的Javascript环境共享 我对JavaScript非常陌生,而且来自C++背景,我发现自己有点困惑。我有一个javascript文件,为另一个javascript文件设置了一个工作环境工厂类,如下所示: <body> <script src = "environment.js" ></script> <script src = "main.js" ></script> </body>,javascript,browserify,Javascript,Browserify,Environment.js (function () { var mod_platform_factory = require("../../../platform/factory.js"); mod_platform_factory.registerService("connection", require("./connection.js")); })(); 为了便于阅读,我已经删除了这两个文件,并添加了connection.js代码,因为我认为这是不必要的。一切都按预期工作,连
(function () {
var mod_platform_factory = require("../../../platform/factory.js");
mod_platform_factory.registerService("connection", require("./connection.js"));
})();
为了便于阅读,我已经删除了这两个文件,并添加了connection.js代码,因为我认为这是不必要的。一切都按预期工作,连接对象愉快地位于单一平台工厂对象的_工厂中
然后它开始执行main.js
var mod_platform_factory = require("../../libs/platform/factory.js");
$(document).ready(function () {
var connection = mod_platform_factory.requestService("connection");
connection.connect();
}
)
现在,我再也无法访问line connection.connect(),因为requestService函数抛出了我在PlatformFactory.requestService中放置的错误。查看PlatformFactory.\u factories对象没有名为connection的服务
有人能解释一下我做错了什么吗
谢谢在您的environment.js中创建的mod_platform_工厂将被您在main.js中创建的mod_platform_工厂覆盖
后者没有连接。谢谢您的回复。我将main.js中的第二个重命名为mod_platform_factory_test,这没有什么区别。mod_platform_factory_test也不会有连接,在main.js中,您可以引用先前创建的mod_platform_工厂(在environment.js中创建的工厂)。那个mod_平台工厂确实有一个连接。
var mod_platform_factory = require("../../libs/platform/factory.js");
$(document).ready(function () {
var connection = mod_platform_factory.requestService("connection");
connection.connect();
}
)