Javascript 每个函数都包含在单独的js文件中,但仅在使用时包含
嘿,我正在尝试一些东西(因为我很无聊),每个函数都可以使用js文件,但若只需要,那个么这个文件就会被复制。所以我写了这样的东西。此站点的某些部分 library.js:Javascript 每个函数都包含在单独的js文件中,但仅在使用时包含,javascript,performance,Javascript,Performance,嘿,我正在尝试一些东西(因为我很无聊),每个函数都可以使用js文件,但若只需要,那个么这个文件就会被复制。所以我写了这样的东西。此站点的某些部分 library.js: var jsfiles = new Array( "jsLibrary/try.js", "jsLibrary/try2.js" ); var loadedJsFiles = []; function loadFile(filepath,callback){ var head = document.g
var jsfiles = new Array(
"jsLibrary/try.js",
"jsLibrary/try2.js"
);
var loadedJsFiles = [];
function loadFile(filepath,callback){
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = filepath;
script.onreadystatechange = callback;
script.onload = callback;
head.appendChild(script);
}
function loadalljs(callback,jsnum){
if(!jsnum){jsnum = 0;}
if(jsnum<jsfiles.length){
if(!isArrayNode(jsfiles[jsnum],loadedJsFiles)){
loadedJsFiles.push(jsfiles[jsnum]);
loadFile(jsfiles[jsnum],function(){
loadalljs(callback,jsnum+1);
});
}else{
loadalljs(callback,jsnum+1);
}
}else if(jsnum==jsfiles.length){
callback();
}
}
function isArrayNode(str, arr) {
for (var i = 0; i < arr.length; i++) {
if (str == arr[i]) {
return true;
}
}
return false;
}
function lb(){
this.scripts = function(callback,includePageJs){
loadalljs(function(){
if(includePageJs){
loadFile(includePageJs,function(){
callback();
})
}else{
callback();
}
});
};
this.a = 5;
}
var library = new lb;
try2.js:
function try2(){
alert("try2");
}
mypage.js:
function mypagefunction(){
alert("mypagejs");
}
我是这样使用它的:
<script type="text/javascript" src="jsLibrary/library.js"></script>
<script>
library.scripts(function(){
tryfunction();
try2();
mypagefunction();
},"jsLibrary/mypagejs.js");
library.scripts(function(){
alert(library.a)
});
</script>
脚本(函数(){
tryfunction();
try2();
mypagefunction();
},“jsLibrary/mypagejs.js”);
脚本(函数(){
警报(库a)
});
有没有简单的方法可以做到这一点?谢谢你的任何想法或帮助。(请不要用jquery)使用
requirejs.config({
路径:{
“try1”:“../path\u to\u your\u try.js”,
'try2':'../path_to_your_try2.js',
“mypage”:“../path_to_your_mypage.js”,
}
});
要求([
“try1”、“try2”、“mypage”
],功能(Try1,Try2,MyPage){
//Try1参考Try1文件
//Try2参考Try2文件
//MyPage指的是MyPage文件
});
使用
requirejs.config({
路径:{
“try1”:“../path\u to\u your\u try.js”,
'try2':'../path_to_your_try2.js',
“mypage”:“../path_to_your_mypage.js”,
}
});
要求([
“try1”、“try2”、“mypage”
],功能(Try1,Try2,MyPage){
//Try1参考Try1文件
//Try2参考Try2文件
//MyPage指的是MyPage文件
});
您可能想要签出-与您想要的内容类似。这是一个好页面,谢谢。您可能想要签出-与您想要的内容类似。这是一个好页面,谢谢。
<script type="text/javascript" src="jsLibrary/library.js"></script>
<script>
library.scripts(function(){
tryfunction();
try2();
mypagefunction();
},"jsLibrary/mypagejs.js");
library.scripts(function(){
alert(library.a)
});
</script>
<script>
requirejs.config({
paths: {
'try1': '../path_to_your_try.js',
'try2': '../path_to_your_try2.js',
'mypage': '../path_to_your_mypage.js',
}
});
require([
'try1', 'try2', 'mypage'
], function(Try1, Try2, MyPage){
// Try1 refer to try1 file
// Try2 refer to try2 file
// MyPage refer to mypage file
});
</script>