`

import.js

 
阅读更多
import.js

oop.define('wldm.core.import', {
	
	constructor: function() {},
	
	paths : {
		'app' : 'js/app',
		'wldm' : 'js/lib/wldm'
	},
	
	memo : {
		'app' : {},
		'wldm' : {}
	},
	
	'import': function(a) {
		var me = this;
		var i, memo = me.memo;
		for (i = 0, j = a.length; i < j; i++) {
			var clsName = a[i];
			var modName = clsName.split('.')[0];
			if(memo[modName][clsName] === undefined) {
				// async load
				var url = me.paths[modName] + '/../' + clsName.replace(/\./g, '/') + '.js';
				me.load(modName, clsName, url);
			}
			
		}
	},
	
	load: function(modName, clsName, url){
		var me = this;
		var head = document.getElementsByTagName('head')[0];
        var node = document.createElement('script');
        node.type = 'text/javascript';
        node.charset = 'utf-8';
        node.async = true;
        node.src = url;
        if (node.attachEvent) {
            node.attachEvent('onreadystatechange', success);
        } else {
            node.addEventListener('load', success, false);
        }
        head.appendChild(node);
        
        function success(e) {
    		var node = e.currentTarget || e.srcElement;
    		if (e.type === 'load' || (/^(complete|loaded)$/.test(node.readyState))) {
    			me.memo[modName][clsName] = true;
            }
    	}
	}
	
	
});
 



Usage Like This:

oop.import(['app.login.login']);

分享到:
评论

相关推荐

    vite vue3 import.meta.glob动态路由

    ```javascript // src/router/index.js import { createRouter, createWebHistory } from 'vue-router' import App from '../App.vue' const routes = [] // 使用import.meta.glob动态导入路由模块 const ...

    vite5+vue3+ import.meta.glob动态导入vue组件

    `jsconfig.json` 是 VSCode 的 JavaScript 配置文件,帮助 IDE 提供更好的代码提示和导航;`README.md` 用于介绍项目;`pnpm-lock.yaml` 是使用 pnpm 包管理器的依赖锁定文件;`src` 目录存放源代码,`public` 目录...

    js代码-import.meta 简介

    在JavaScript的世界里,`import.meta` 是一个ES模块中可用的元数据对象,它提供了关于当前模块的一些信息。这个特性自ES2015模块引入以来,为开发者提供了更多的灵活性和控制力,尤其是在构建现代Web应用程序时。让...

    three.js前端使用3D模型引入

    import './three.js-master/build/three.js' import './three.js-master/examples/js/loaders/OBJLoader.js' import './three.js-master/examples/js/loaders/MTLLoader.js' import './three.js-master/examples/js/...

    Import.js:用于将脚本导入html文档的小型库

    Import.js 小型库,用于将脚本导入html文档(使用XHR)。 兼容性 适用于Internet Explorer 11或更高版本。 如何使用? 该库必须放在html文档的head标签中。 &lt; html &gt; &lt; head &gt; &lt; title &gt; My...

    SpringBoot采用pdf.js加载pdf文件

    而pdf.js是Mozilla开发的一个用于在浏览器中渲染PDF文件的JavaScript库,它能够使得用户无需下载即可在浏览器中查看PDF内容。在本文中,我们将深入探讨如何在SpringBoot项目中结合pdf.js实现PDF预览功能。 首先,...

    babel-plugin-bundled-import-meta:Babel插件重写import.meta以用于捆绑使用

    此模块需要node.js 10或更高版本以及@babel/core 。 npm i babel-plugin-bundled-import-meta 用法 将babel-plugin-bundled-import-meta到babel设置中的plugins 。 设定值 { " plugins " : [ [ " babel-plugin-...

    js-md5.min.js

    js-md5.min.js

    vue.js跟vue-resource.js

    Vue.js 是一款轻量级的前端JavaScript框架,由尤雨溪开发,旨在简化Web应用程序的构建过程。Vue的核心特性包括数据绑定、组件化、指令系统和虚拟DOM,它通过声明式编程方式使得开发者能更容易地处理视图层的逻辑。...

    Three.js3D场景编辑器(vue3版本)

    vue3,three.js,vite。 构建的three.js3D场景编辑器。支持场景导入,导出。自定义配置。 导出的文件支持https://www.npmjs.com/package/scene-view。解析器解析渲染。 目前为纯前端单机版。 当前文件为打包后文件,...

    vue.min.js和vue-router.min.js

    Vue.js 是一款轻量级的前端JavaScript框架,由尤雨溪开发,因其易学易用、高性能和灵活性而广受欢迎。Vue的核心库专注于视图层,易于集成到其他库或现有项目中,使得构建用户界面变得更为简单。"vue.min.js" 文件是...

    ajaxupload.js

    action: 'servlet/import', name: 'newFileName',//更改上传的文件名 data : { 'key1' : "7月份", 'key2' : "8月份", 'key3' : "9月份" }, onSubmit : function(file , ext){ if (ext && ...

    vue-typescript-import-dts-TypeScript声明文件,该文件允许将'import'与.vue文件一起使用。-Vue.js开发

    用法此软件包需要TypeScript 2和Vue.js 2,它们在Vue.js软件包本身中附带了新的类型定义。 两者都必须单独安装在您的项目中,这样可以选择合适的版本。 安装npm install vue-typescript-import-dt

    像import java类一样 import js类

    标题“像import java类一样 import js类”暗示了这篇博文主要讨论的是JavaScript中引入模块的方式,尝试模拟Java的导入机制。在JavaScript的世界里,我们通常使用`require`(Node.js环境)或`import`(ES6及以后版本...

    import.zip

    在本示例中,我们将探讨如何利用JavaScript(通过importExcel.js)和JSP(importExcel.jsp)来实现这一功能。 首先,我们需要理解Excel导入的基本流程。用户通常会通过一个表单上传Excel文件,前端需要接收并处理这...

    Atom-atom-import-js,用于importjs的atom插件。对Galooshi/Atom的贡献.zip

    Atom-atom-import-js 是一个专为 Atom 文本编辑器设计的插件,它与 Galooshi/Atom 社区紧密相连,旨在提升开发者的工作效率,特别是处理JavaScript代码时的导入功能。Atom是一款由GitHub开发的现代、可高度自定义的...

    axios.js和vue.js和vue-resource.js

    Vue.js 是一款轻量级的前端JavaScript框架,它以其易用性、灵活性和强大的功能而闻名。Vue的核心库专注于视图层,易于学习且与其他库或现有项目集成。它的设计思想使得开发过程变得简单,同时提供了构建单页应用...

    Extjs3动态加载js源码

    动态加载JS(Dynamic JavaScript Loading)是现代Web开发中的一个重要技术,它可以提高页面的加载速度,减少初始加载的数据量,并在需要时按需加载资源,从而优化用户体验。 在ExtJS 3中,虽然没有像ExtJS 4那样...

    three.js加载obj+mtl文件源码

    在三维图形渲染领域,Three.js 是一款非常流行的 JavaScript 库,它使得在浏览器中创建复杂的3D场景变得简单。本教程将深入探讨如何使用 Three.js 加载 obj 和 mtl 文件,以及如何为 obj 模型添加纹理。 首先,我们...

Global site tag (gtag.js) - Google Analytics