apolloxlua include关键字

简介: include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示。

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。

因为include是单独处理流, 所以不会在主处理流程中有所表示。

include 对应的是 AOP 切面编程的模式。我们可以把切面的代码,组织在后缀为.apo的文档里, 并且使用include在多个文档里共享。其他后缀格式目前不支持。当然你也可以把你的切面代码组织在你的主文档里,这个是没有差别的, 但是在交织的时候切面的代码并不会对著文档代码产生影响, 可能影响到的是你的文档的可维护性, 所以我们需要把切面的代码独立到一个实体文件中,这其实是切面模型和其他模型相互组合的一点。

目前apolloxlua可以直接交织和注解切面代码,因为对源代码的理解,所以在交织的时候我们只需要关注我们的切面过程和业务是否契合,其余的一切apolloxlua自动处理。

如果你使用的开发模型,并不需要类似切面的方式,那么你不需要关心这个处理。 正常导入其他模块或者包的使用方式是使用 require 方式。

使用方式:

include ("aop文件");

使用示例
`

include ("./build/test.aop");

var m = require ("module");

function a () {
    var c =  0;
    ;[BREAKPOINT("Circubreaker", c,2,3)]
    var d =  1;
}

;[BREAKPOINT("Circubreaker", 2,3,4)]

;[BREAKPOINT("Noted", 2,3)]

;[BREAKPOINT("Circubreaker", 2,3,4)]

test.aop


;[AOP("breakpoint", "Circubreaker" , function (eax,ebx,ecx) {
    console.log("break...point..1")        
    console.log("break...point..2")    
    console.log("break...point..3")    
    console.log("break...point..4")    
})]


;[AOP("breakpoint", "Noted", function (a,v) {
    console.log("I am a Noted.")
})]

在web模式, 有一个标准库的map和vfs的map提供给交叉编译使用, 如果我们在打包的时候并没有为web模式生成需要包含的代码, web模式会自动加文件。如果你的资源在cdn或者oss等其他的资源服务器上, 需要设置vfs的path, 默认为本地。

在tool模式下使用的是操作系统的文件系统,所以支持相对和绝对路径, 不需要特殊设置。

和require最本质的区别在于, require是动态加载行为, 加载后会在模块的内注册,并返回模块。 include处理阶段在apolloxlua的预编译阶段,并不会存在和引入代码, 只是在交叉的时候按照我们定义的规则,生成code。

输入图片说明

相关文章
|
8月前
|
iOS开发 C++ MacOS
c++typedef关键字
c++typedef关键字
42 0
|
8月前
|
消息中间件 NoSQL C语言
extern关键字的作用
extern关键字的作用
|
3月前
|
编译器 C++
#include<> 与#include ""的区别
在C++中,`#include &lt;&gt;` 和 `#include &quot;&quot;` 都用于包含头文件,但使用场景不同。`#include &lt;&gt;` 用于包含系统标准库头文件,编译器会在标准库路径中查找;而 `#include &quot;&quot;` 用于包含用户自定义的头文件,编译器会优先在当前项目目录中查找。
|
8月前
|
编译器
关键字static#define 定义常量和宏
关键字static#define 定义常量和宏
51 0
|
8月前
|
测试技术
常用字符串函数 #include<string.h>与#include<stdio.h>
常用字符串函数 #include<string.h>与#include<stdio.h>
90 1
|
8月前
|
存储
include函数
【2月更文挑战第15天】include函数。
82 2
|
8月前
|
C语言
typedef 关键字
typedef 关键字。
28 1
|
存储 Cloud Native Linux
C++ extern关键字作用
C++ extern关键字作用
关键字typedef
变量a是无符号整型数,它的变量类型为unsigned int 有点长,于是我们就将其变量类型重命名 typedef unsigned int uint; 即将unsigned int 赋予新名字:uint,更加简洁方便 重命名后可以直接使用新的类型名:uint b=20;
48 0