`
JerryWang_SAP
  • 浏览: 1032043 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

sap.ui.require in SAP UI5 and require in nodejs

阅读更多

UI5

例如我需要在controller的onShowHello里通过MessageToast弹一个消息显示在UI上,

 

 

我需要先定义我自己的controller,该controller extend自UI5标准的controller module,路径为sap/ui/core/mvc/Controller, 而为了调用MessageToast的show方法,也必须先拿到MessageToast的实例。所以UI5里使用sap.ui.define去加载这两个依赖的module,加载完成后,会调用应用开发人员传入的回调函数,加载的两个module的内容作为两个输入参数传入该回调函数。

 

UI5所有的module由jquery.sap.global.js中的Module统一管理。

 
 

更多细节请查看我的SAP前同事Wu Ji的博客SAPUI5 walkthrough step 6 – modules, dive in – how does modules work?

当然也存在sap.ui.require这种简洁用法。一个UI5框架的使用例子:

 

nodejs

逻辑和UI5类似,假设我想使用queryString这个module,只需要用nodejs标准的require函数将其引入:

 

然后就可在应用代码里使用该module通过module.exports暴露出的方法:

 

require调用internal/module.js里的self.require:

 

然后是Module._load:

 

nodejs也有类似UI5的module统一管理器:Module._cache. 每次加载module时,首先从这个管理器里查看是否该module已经加载。只有当module在管理器里不存在时才会真正加载,new一个Module对象,维护好属性后存入module管理器。

 

加载好的module就是一系列function的集合:

 

 

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 
 
0
0
分享到:
评论

相关推荐

    LibXL.for.Windows.3.6.5.0.Incl.License.and.Cracked

    It doesn't require Microsoft Excel and .NET framework, combines an easy to use and powerful features. Library can be used to •Generate a new spreadsheet from scratch •Extract data from an existing ...

    Nodejs中的require函数的具体使用方法

    本文主要分析了Nodejs中require导入JSON和js文件时得到的结果,同时简单涉及到了Nodejs中模块导出module.exports和exports的用法。 引言 在阅读webpack源码的过程当中,见到如下一行代码: const version = ...

    Nodejs基础03. require 函数介绍(二), Builtin modules 内部函数库

    [Electron][JS][教學]_Nodejs基礎#03._require_函數介紹(二),_Builtin_modules

    weifenluo.winformsui.docking 2.9(最新源码&例子)

    2. Opt-in ShowAutoHideContentOnHover feature to require a tab to be clicked on to show autohide content vice the current behavior of showing on hover. 3. Fixed issues with the sample application: ...

    7天学会NodeJS.pdf

    NodeJS的模块系统是其核心特性之一,通过`require`导入模块,`exports`和`module.exports`导出模块。每个JavaScript文件都可以视为一个模块,有自己的作用域。`module`对象是每个模块的全局对象,包含了与模块相关的...

    nodejs.socketio很好的入门例子javascript脚本方式

    var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var fs = require('fs'); debugger; //默认打开文件 app.get('/', function (req, res) { res....

    NodeJS.jl:julia的Node.js安装

    这里,`NodeJS.require`函数允许你像在Node.js中一样加载和使用模块。 **异步编程**: 由于Node.js的核心特性是基于事件循环的非阻塞I/O,NodeJS.jl也支持Julia中的异步操作。你可以通过Julia的`async`和`await`...

    NodeJS中文文档精编.pdf 全文免费

    NodeJS 中的模块使用 exports 对象来向外暴露成员,而 require 函数用来引入模块。exports 是一个对象,require 函数由 Node 提供,它返回的对象其实是 module 对象中的 exports 对象。 NodeJS 的应用非常广泛,...

    goja_nodejs:Goja的Nodejs兼容性库

    例子: package mainimport ( "github.com/dop251/goja" "github.com/dop251/goja_nodejs/require")func main () { registry := new (require. Registry ) // this can be shared by multiple runtimes runtime ...

    Node.js中的require.resolve方法使用简介

    本文则主要介绍了Node.js中的require.resolve方法,下面来看看详细介绍吧。 简单的说,在 Node.js 中使用 fs 读取文件的时候,经常碰到要拼一个文件的绝对路径的问题 (fs 处理相对路径均以进程执行目录为准)。 之前...

    require.js学习指南

    require.jsrequire.jsrequire.jsrequire.jsrequire.jsrequire.js

    百度云推送SDKbpush-nodejs.zip

    使用npm install bpush-nodejs --savevar bpush = require('bpush-nodejs'); ...说明SDK采用Promise方式进行回调,demo代码如下(以推送单个设备为例),catch代码块中 只捕获HTTP请求错误,如果HTTP请求成功,但是百度...

    nodejs , node.exe

    下载node.exe之后,放到c盘nodejs文件下,在环境变量path里面加上 c:\nodejs\node.exe,在nodejs目录下建立server.js,文件里面写上这些 var http = require('http'); http.createServer(function (request, ...

    通过NodeJS中的http.get() 和 http.request()模块两种方法,调用中国天气api

    key=YOUR_API_KEY&q=Beijing&days=5', method: 'GET', }; http.get(options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { const weatherData = ...

    nodejs require js文件入口,在package.json中指定默认入口main方法

    我们都知道nodejs遵循commonJS规范,各个js是独立的。 如果目录结构是: –config 文件夹 – index.js – test.js app.js 那么在app.js中require(‘./config’)的时候,默认是...以上这篇nodejs require js文件入

    nodejs in action 源码

    这本书《Node.js实战》("Node.js in Action")深入浅出地介绍了如何使用Node.js构建高性能的网络应用。源码分析将帮助我们更好地理解书中所讲解的概念和技术。 1. **事件驱动编程**:Node.js的核心设计之一就是...

    node.js使用require()函数加载模块

     * require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在require函数中只需要指定模块名即可.  * */ //建立一个页面2.js;代码如下 var name=”思思博士”; ...

    Nodejs时间跨度软件timespans.zip

    timespans 是对 Nodejs实现的时间跨度类库,使用方法很简单,如下: Install npm install timespans Usage1 var tw = require('timespans'); tw.start(); var t = 1.0; for(var i=1;i;i ){ t = i; } tw.stop(); ...

    nodejs导出模块demo.zip

    5. **模块的生命周期**: 模块在首次被`require`时执行,之后的`require`操作只会返回缓存的模块对象。因此,模块内的代码只会在第一次加载时运行一次。 6. **自定义模块加载路径**: 通过设置`NODE_PATH`环境...

Global site tag (gtag.js) - Google Analytics