“Javascript类库”;模仿;
我开始在Javascript中使用OO概念 因此,我有几个“类”js文件,每个节点将单个“类”定义为: 在使用类的HTML页面的最后,我必须添加几个js文件,如:“Javascript类库”;模仿;,javascript,oop,Javascript,Oop,我开始在Javascript中使用OO概念 因此,我有几个“类”js文件,每个节点将单个“类”定义为: 在使用类的HTML页面的最后,我必须添加几个js文件,如: <script type="text/javascript" charset="UTF-8" src="/Content/script/mzui.myproject.classlib.myClass1.js")" /> <script type="text/javascript" charset="UTF-8" sr
<script type="text/javascript" charset="UTF-8" src="/Content/script/mzui.myproject.classlib.myClass1.js")" />
<script type="text/javascript" charset="UTF-8" src="/Content/script/mzui.myproject.classlib.myClass2.js")" />
<script type="text/javascript" charset="UTF-8" src="/Content/script/mzui.myproject.classlib.myClass3.js")" />
.
.
.
<script type="text/javascript" charset="UTF-8" src="/Content/script/mzui.myproject.classlib.myClassN.js")" />
最后,使用Google的闭包编译器,所有文件都将成为一个myproject.jar,但我需要保持开发环境的结构化,避免在运行时出现双重定义
那么,应该采取什么措施:
var
声明它,或者将其设置为window
的属性,则可以从任何地方访问它
有没有一种方法可以将它们“捆绑”到一个javascript中,以加载所有其他javascript
是的,您可以创建script
元素并将它们附加到DOM中:
var script = document.createElement('script');
script.type = "text/javascript";
for(var i=1; i<=n; ++i) {
var current = script.cloneNode(false);
current.src = "/Content/script/mzui.myproject.classlib.myClass"+i+".js";
document.body.appendChild(current);
}
var script=document.createElement('script');
script.type=“text/javascript”;
对于(var i=1;i,由于您已经计划使用闭包编译器,我有一些关于如何进行文件/依赖项管理的非常具体的建议
如果您查看一些使用Google闭包样式编写的代码,您将看到它们如何定义名称空间,以及如何使用goog.provide()
和goog.require()
来声明在定义它的文件之外将使用什么,以及文件需要从代码库的其他部分获得什么
我强烈建议通过使用闭包编译器和闭包库。
使用plovr,您可以定义包含一个或多个文件的配置。跨多个文件加载代码的所有合理方法(自动生成多个脚本标记/将所有文件连接到一个脚本/连接和缩小/使用优化编译)然后可以通过更改单个设置进行调整
Plovr由的作者Michael Bolin设计,旨在帮助人们使用闭包编译器和闭包库,而无需设置更复杂的构建过程
一旦plovr启动并运行,正确使用goog.require()
和goog.provide()
确实可以帮助您在可管理大小的文件中编写代码,并使用和连接结果。对不起,您能更好地解释如何通过var使其全局化吗?@Mendez如果您在任何函数之外使用var
声明它,它将是一个全局变量,并且是窗口的一个属性。我知道我不知道如何将我的“类”原型声明为全局的。请检查此演示以更正:(不工作)@Mendez您的演示不起作用,因为未定义myproject
,并且您使用=
而不是+
来连接字符串。您应该确保myproject
是在全局代码中声明的,然后您将能够从其他脚本访问它。=是一个类型错误…但是myproject应该等于什么s to:var myproject=???你能帮我解决这个问题吗?我不明白重点…这就是重点-如何创建一个“类库”。
var script = document.createElement('script');
script.type = "text/javascript";
for(var i=1; i<=n; ++i) {
var current = script.cloneNode(false);
current.src = "/Content/script/mzui.myproject.classlib.myClass"+i+".js";
document.body.appendChild(current);
}