Oracle JET学习记录

1. Oracle JET结构
Oracle JET支持 Model-View-ViewModel(MVVM)架构设计模式。在 MVVM 中,Model 代表应用程序数据,View 是数据的呈现。ViewModel 将模型中的数据公开到视图并维护应用程序的状态。Oracle JET框架包括(View层)JET UI Compones,JQueryUIHammerSASS,(ViewModel层)Knockout JS,(Model层)JET Common Model,(Busness Services层)Rest,WebSocket,以及JET Routing System,RequireJS
这里写图片描述

2. Oracle JET的使用
2.1. 使用方式
Oracle JET Web应用程序开发有以下方式:
- 使用 Oracle JET Yeoman 生成器(手脚架生成)
- 使用 Oracle JET zip
- 将 Oracle JET 添加到现有的 JavaScript 应用程序
Oracle JET提供了三种Web模板(包括桌面端、移动端):basic, navbar, navdrawer
这里写图片描述

2.2. 项目创建
- 使用 Oracle JET Yeoman 生成器(手脚架生成)
a.安装 Yeoman。 npm install -g yo
b.安装 Grunt(用于构建和运行)。 npm install -g grunt-cli
c.安装 Oracle JET Yeoman Generator。 npm install -g generator-oraclejet
d.创建模板。 yo oraclejet [directory] [--template={template-name:[web|hybrid]|template-url|template-file}] [--help]
e.使用Grunt构建Web应用程序(可跳过此步骤)grunt build [--theme=themename[:android|ios|web|windows] --themes=theme1,theme2,... --no-sass]
f.使用 Grunt 服务 Web。grunt serve [--server-port=server-port-number --livereload-port=live-reload-port-number --no-livereload --no-sass --no-build --theme=themename[:android|ios|web|windows] --themes=theme1,theme2,...]

参数:server-port 服务器端口号。未指定为8000。
   livereload-port 实时重新加载端口号。未指定为35729。
   no-livereload 禁用实时重新加载。
   no-build 禁止构建。(已构建)
   其余同 grunt build

g.在编写网页中使用sass的方法。
1)在根目录中,输入命令添加sass。yo oraclejet:add-sass
2)添加主题文件。yo oraclejet:add-theme themeName
3)grunt build –theme=themeName
4)grunt serve –theme=themeName
3. 组件介绍
响应式布局
Oracle JET Flex布局
Oracle JET 网格布局

4. 常用命令
uninstall

npm un -g ojet-cli
npm un -g generator-oraclejet

install

npm install -g @oracle/ojet-cli

create initial project

ojet create –template=navdrawer

build the default project

ojet build

edit the project
in /src folder, run -build/-serve command will overdiden /web folder.

run a ojet project

npm install
ojet serve

create component

ojet create component

use component
1.add element to temp.html
2.add loader.js path of the element to temp.js

add component attribute
1.add new attribute to the element sample in temp.html
2.define the attribute in component.json of the element(ps.the hypehen(-)->camel-case)

active component attribute
1.add function content to -viewModel.js.

add JET demo to your component
1.copy <oj-*></oj-*> of demo.html to -view.html, and remove unused attribute.
2.add attribute value as: type="[[chartType]]"
3.copy available code of oj-*.js to -viewModel.js.
4.add new variable as:self.chartType = "bar", add * to define.
5.add * component.json.

data binding
[[]]:user input from the UI components does not affect the ViewModel.
{{}}:user input from the UI components is written back into the ViewModel.

knockout: solves the two-way data binding requirement.

5. 关于RequireJS
以下是对RequireJS讲述较为详细的:
入门:
RequireJS入门(一)
RequireJS入门(二)
RequireJS入门(三)

进阶:
RequireJS进阶(一)
RequireJS进阶(二)
RequireJS进阶(三)
RequireJS进阶:配置文件的学习

实践:
require.js 最佳实践 - digdeep - 博客园

补充文献
1. JS模块化工具requirejs教程
2. JavaSript模块规范 - AMD规范与CMD规范介绍
3. REST简介
4. Knockoutjs 学习系列(一)ko初体验javascript技巧脚本之家

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anneCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值