什么做自己的網(wǎng)站 應(yīng)招聘人才seo經(jīng)驗(yàn)是什么
工作要求,想嘗試看看在awtk-designer設(shè)計(jì)界面的同時(shí)能不能用javascript開發(fā)邏輯層,以此和前端技術(shù)聯(lián)動(dòng),本文是一種項(xiàng)目建構(gòu)的思路。
-
從github下載并編譯awtk, awtk-mmvm和awtk-jerryscript(如果沒有)
-
用awtk-designer新建項(xiàng)目,awtk和awtk-mmvm路徑改為上一步github下載到的目錄路徑(如designer改不了,可在project.json上修改)
-
從awtk-jerryscript復(fù)制3rd/jerryscript,src改名為jerryscript_src到designer項(xiàng)目上
-
修改designer項(xiàng)目根目錄Sconstruct為:
import os
import scripts.app_helper as appARGUMENTS['FONT'] = 'default_full'
helper = app.Helper(ARGUMENTS);TK_JERRYSCRIPT_ROOT = os.path.join(helper.APP_ROOT, '3rd/jerryscript/')TK_JS_JERRYSCRIPT_DIRS = [TK_JERRYSCRIPT_ROOT,os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-ext/include'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-ext/arg'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-ext/common'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-ext/debugger'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-ext/handler'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-ext/module'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/include'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/ecma'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/ecma/base'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/ecma/builtin-objects'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/ecma/operations'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/jcontext'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/jrt'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/parser'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/parser/js'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/parser/regexp'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/vm'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/api'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/debugger'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/lit'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/jmem'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/profiles'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-port/default/include'),os.path.join(TK_JERRYSCRIPT_ROOT, 'jerryscript/jerry-core/ecma/builtin-objects/typedarray'),
]APP_CPPPATH = TK_JS_JERRYSCRIPT_DIRS
APP_LIBS = ['awtk-jerryscript', 'jerryscript']
APP_CCFLAGS = '-DPATH_MAX=256 -DJERRY_ESNEXT=0 'helper.add_libs(APP_LIBS).add_ccflags(APP_CCFLAGS).add_cpppath(APP_CPPPATH).call(DefaultEnvironment)if ARGUMENTS.get('IOTJS', '') != '':SConscriptFiles = ['src/SConscript']
else:SConscriptFiles = ['3rd/jerryscript/SConscript', 'jerryscript_src/SConscript', 'jerryscript_src/SConscript.bin']CUSTOM_WIDGET_LIBS = []DEPENDS_LIBS = CUSTOM_WIDGET_LIBS + []helper = app.Helper(ARGUMENTS)
helper.set_deps(DEPENDS_LIBS)app.prepare_depends_libs(ARGUMENTS, helper, DEPENDS_LIBS)
helper.call(DefaultEnvironment)SConscriptFiles += ['src/SConscript', 'tests/SConscript']
helper.SConscript(SConscriptFiles)
- designer項(xiàng)目awtk_locator.py的
getAwtkSDKPath
修改,使其返回自己awtk安裝的所在目錄
def getAwtkSDKPath():# env = os.environ# if 'AWTK_SDK_PATH' in env:# return env['AWTK_SDK_PATH']# else:# return ''return 'D:/Devtools/'
- 將awtk-jerryscript目錄
design/default/scripts/awtk.js
復(fù)制到designer項(xiàng)目的對(duì)應(yīng)路徑下,否則awtkRun可能無法加載窗口
移植awtk-jerryscript的font目錄到desginer項(xiàng)目對(duì)應(yīng)路徑下合并原font目錄,否則awtkRun打開js文件將無法顯示文字。
完成以上兩步后一定要更新資源:
python ./scripts/update_res.py all
-
在designer項(xiàng)目src下新建js文件夾,以后頁面邏輯有關(guān)的所有js文件就存放于此,并新建build_js.json,用于以后在awtk-web的部署,注意json中sources寫明js源文件路徑,例:
build_js.json
{"name": "AwtkApplication3","version": "1.0","assets": "res/assets","author": "AWTK Develop Team","copyright": "Guangzhou ZHIYUAN Electronics Co.,Ltd.","themes":["default"],"web": {"app_type": "js","assets": "design","sources": ["src/js/*.js"],"config": {"fontScale": "0.8","defaultFont": "sans"}} }
也可根據(jù)自己需要改成其他路徑,build_js.json的sources
改下。
問題:
- 限于使用的awtk原因不能加載插件,如果用awtkStudio自帶的awtk sdk, 則加載c轉(zhuǎn)jerryscript部分的代碼又會(huì)報(bào)錯(cuò)