该仓库包含 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获取示例