package.loaded和require配合让一个文件更新后重新加载
来源:互联网 发布:淘宝店装修模板自己做 编辑:程序博客网 时间:2024/05/16 18:45
用require函数只能加载一次,因为它的特性是:
1、require函数会搜索目录加载文件
2、require会判断是否文件已经加载避免重复加载同一文件。
而这个特性二,虽然我们可能知道这两个特性,但是潜意识里面常常把这个特性二给忽视掉了.
直到哪天我们需要反复加载同一个lua文件,但是没有实现自己想要效果的时候,才会发现这个特性二的存在感特别强!
也许有的小伙伴,会有疑问,为什么要反复加载啊?加载一次不就能用了么?
当我有一些特殊的需求的时候,就可能会需要反复加载某个lua文件,例如我的文件lua文件动态地改变了,或者一些其他特殊原因.
那么,如何实现反复加载一个lua文件?
答案是:二次加载前加这一句package.loaded[luafile] = nil就ok了
例如我们需要反复地required(‘test.lua’),那么第二次加载时的代码如下:
package.loaded[‘test.lua’] = nil
required(‘test.lua’)
参考资料:
http://baike.baidu.com/view/8751804.htm?fr=aladdin 关于required函数的特性
http://www.cnblogs.com/Wilson-Loo/p/3301989.html Lua 脚本重启 机制
http://7301766.blog.163.com/blog/static/144633559201101904135456/ LUA modue require package 区别
0 0
- package.loaded和require配合让一个文件更新后重新加载
- 关于热更新时怎么清楚package.loaded重新加载
- lua关于require和package.loaded 之间的关系
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded常被忽略的故事
- lua关于require和package.loaded常被忽略的故事
- Ruby--加载文件--require和require_relative
- include和require加载文件的区别
- package.loaded
- 让javamail直接添加上传文件为附件的ByteDataSource代码,一个和该方法配合的上传文件类
- PHP 关于include()和require()方法加载文件的区别
- 【Require.js】JavaScript文件和模块加载器
- cocos2d-js 重新require JS文件
- Tomcat自动重新加载改动后的类文件
- PHP文件加载include,require。
- 让dojo.require异步加载小部件
- 关于require和package.loadlib的介绍和它们的关系,以及它们在加载C模块时不同表现
- 项目管理专业英语-无法直接给出答复,会影响项目进程
- 项目管理专业英语-重新开发需同意并留案签字
- RGraph动态生成3D图形表格
- 项目管理专业英语-配置管理的主要工作
- 项目管理专业英语-项目预测
- package.loaded和require配合让一个文件更新后重新加载
- 花
- 项目管理专业英语-风险事件发生
- 解决windows下angular2无法成功下载模块问题
- Spring面向切面编程AOP讲解
- dagger2的基本使用一
- maven常见问题二
- C++ static、const和static const类型成员变量声明以及初始化
- java读取图片插入blob,并取出