NKScriptingLite 0.13.1

NKScriptingLite 0.13.1

测试已测试
语言语言 SwiftSwift
许可证 Apache-2.0
发布最后发布2020年7月
SPM支持 SPM

NodeKitJonathan WileyPatrick Goley 维护。



  • OffGrid Networks

该仓库包含 NodeKit 的仅 JavaScriptCore 版本。

它遵循完整的 NodeKit API(NKScripting 当前实现),仅使用 JSExport 在 JavaScriptCore 上。

安装

使用 Carthage(nodekit-io/nodekit-darwin-lite)或 CocoaPods(NKScriptingLite

API

NKScriptContextFactory

let options = Dictionary<String, AnyObject>()

NKScriptContextFactory().createScriptContext(options, delegate: self.scriptContextDelegate)

NKScriptContextDelegate

func NKScriptEngineDidLoad(context: NKScriptContext) -> Void 

func NKScriptEngineReady(context: NKScriptContext) -> Void {

NKScriptContext

func loadPlugin(object: AnyObject, namespace: String, options: Dictionary<String, AnyObject>) -> Void

func evaluateJavaScript(javaScriptString: String, completionHandler: ((AnyObject?,NSError?) -> Void)?)

暴露给JavaScript的本地插件

创建插件的示例

context.loadPlugin(storage(), namespace: "io.nodekit.scripting.storage", options: ["js": "lib-scripting.nkar/lib-scripting/native_module.js"])

插件应实现一个从NKScriptExport继承的@objc协议;此协议中的每个方法都会自动暴露到JavaScript

请参阅SamplePlugin.swift获取示例