简体   繁体   English

如何在不使用document.write的情况下将多个js文件加载到单个javascript文件中?

[英]How to load the multiple js files in single javascript file, without using document.write?

var head = document.getElementsByTagName("head")[0];
function loadjscssfile(filename, filetype) {
    if (filetype == "js") {
        var fileref = document.createElement('script');
        fileref.setAttribute("type", "text/javascript");
        fileref.setAttribute("src", filename);
        //fileref.async = false;
    }
    else if (filetype == "css") { //if filename is an external CSS file
        var fileref = document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", filename);
        //fileref.async = false;
    }
    if (typeof fileref != "undefined")
        console.log("check file", head.appendChild(fileref));
        fileref.sync = true;
    head.appendChild(fileref);
}

i am using above function, but i am getting few error, I think files are not loaded one by one. 我正在使用上述功能,但出现的错误很少,我认为文件不是一个接一个地加载。 I want to load one by one js file. 我想加载一个js文件。
How to load multiple scripts files one by one. 如何一个接一个地加载多个脚本文件。

loadjscssfile ("js/scripts/jquery.js", "js");    
loadjscssfile ("js/scripts/angular.min.js", "js");   
loadjscssfile ("js/scripts/angular-ui-router.min.js", "js");   
loadjscssfile ("js/scripts/angular-resource.min.js", "js");    
loadjscssfile "js/scripts/angular-route.min.js", "js");       
loadjscssfile ("js/scripts/moment.min.js", "js");    
loadjscssfile("js/scripts/humanize-duration.js", "js");    
loadjscssfile("js/scripts/angular-timer.min.js", "js");     
loadjscssfile("js/scripts/angular-translate.min.js", "js");    
loadjscssfile("js/scripts/angular-translate-loader-url.min.js", "js");   

Maybe you can look a task runner like Grunt or Gulp to automatically inject JS files and/or CSS files into your HTML ? 也许您可以像GruntGulp这样的任务运行程序自动将JS文件和/或CSS文件注入HTML?

For Grunt use the fileblocks plugin and for gulp, the inject plugin 对于Grunt,请使用fileblocks插件 ;对于gulp ,请使用inject插件

Take a look at RequireJS . 看一下RequireJS You can load js files on demand. 您可以按需加载js文件。

Here is an example http://requirejs.org/docs/start.html 这是一个示例http://requirejs.org/docs/start.html

Webpack can help you. Webpack可以为您提供帮助。 It can make one .js file from many But be careful - use obfuscation for .min.js files can make you many problems, dont use it when you will make one(or two) big .js files 它可以从多个文件中生成一个.js文件,但请小心-对.min.js文件使用混淆处理会给您带来许多问题,当您制作一个(或两个)大.js文件时请不要使用它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM